Для генерации псевдослучайных чисел используют различные методы. Одним из таких методов является использование булевых рекуррентных выражений. В таком случае, псевдослучайное число представляется в виде битовой последовательности, такой что каждый следующий бит вычисляется из предыдущих по некоторой формуле. Однако такое задание фактически определяет последовательность по первым ее членам.
Альтернативой может служить использование булевых уравнений. Будем говорить, что битовая последовательность x1, x2, x3, …, xn удовлетворяет некоторому уравнению
Первая строка входного файла содержит целое число n (2 ≤ n ≤ 103). Вторая строка содержит левую часть уравнения, закодированного следующим способом:
Длина левой части уравнения не превосходит 1000 символов.
Выходной файл содержит единственное число — количество битовых последовательностей длинны n удовлетворяющих уравнению. Число должно быть выведено по модулю 260.
3
(0+2)|(0&2)
6
4
(0+2)|-(0&2)
9
Первый пример кодирует уравнение (xi + xi - 2)|(xi&xi - 2) = 1, которому удовлетворяют следующие последовательности: 001, 011, 100, 101, 110, 111. Второй пример кодирует уравнение (xi + xi - 2)|( - (xi&xi - 2)) = 1, которому удовлетворяют последовательности: 0000, 0001, 0010, 0011, 0100, 0110, 1000, 1001, 1100.
| Название |
|---|


