Задачі
Василько і послідовності
Василько і послідовності
Василько продовжує свої експерименти із бітовими операціями. Цього разу він знову працює над операцією \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
5 1 2 3 4 5 5
Вихідні дані #1
72