eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Василько і послідовності

Василько і послідовності

Василько продовжує свої експерименти із бітовими операціями. Цього разу він знову працює над операцією \textbf{XOR}. Спочатку він випадковим чином вибирає \textbf{N} натуральних чисел \textbf{a_1}, \textbf{a_2}, ..., \textbf{a_N}, після цього просить свого друга Віталія назвати єдине число \textbf{K}. Отримавши число K він намагається порахувати скільки існує таких послідовностей чисел \textbf{b_1}, \textbf{b_2}, ..., \textbf{b_N}, для яких виконуються наступні умови: \begin{enumerate} \item \textbf{0} ≤ \textbf{b_i} ≤ \textbf{a_i}, для \textbf{1} ≤ \textbf{i} ≤ \textbf{N}. \item \textbf{b_1} \includegraphics{https://static.e-olymp.com/content/7e/7e838c0f60f64deef9d13ec9a874ce43b20530ea.jpg} \textbf{b_2} \includegraphics{https://static.e-olymp.com/content/7e/7e838c0f60f64deef9d13ec9a874ce43b20530ea.jpg} ... \includegraphics{https://static.e-olymp.com/content/7e/7e838c0f60f64deef9d13ec9a874ce43b20530ea.jpg} \textbf{b_N} = \textbf{K}. \end{enumerate} Оскільки їх кількість може бути дуже великою, він просить Вас допомогти йому у цьому. Щоб Вам було простіше він просить знайти цю кількість по модулю \textbf{10^9+7}. \InputFile В першому рядку задано число \textbf{N}, \textbf{1} ≤ \textbf{N} ≤ \textbf{100}. У наступному рядку задано \textbf{N} чисел \textbf{a_1}, \textbf{a_2}, ..., \textbf{a_N}, \textbf{1} ≤ \textbf{a_i} ≤ \textbf{10^9}, \textbf{1} ≤ \textbf{i} ≤ \textbf{N}. У третьому рядку задано єдине число \textbf{K}, \textbf{1} ≤ \textbf{K} ≤ \textbf{10^9}. \OutputFile Виведіть єдине число - кількість шуканих послідовностей, які задовільняють описані вище умови, по модулю \textbf{10^9+7}.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
5
1 2 3 4 5
5
Вихідні дані #1
72
Автор Володимир Чіх
Джерело Дистанційна Літня Комп`ютерна Школа - літо 2013 року