Codeforces Round 536 (Div. 2) |
---|
Закончено |
Приближается лунный новый год, а Боб получил подарок — рекурсивную последовательность! Последовательность ему очень понравилась, он хочет с ней поиграть.
Пусть $$$f_1, f_2, \ldots, f_i, \ldots$$$ — бесконечная последовательность положительных целых чисел. Боб знает, что, если $$$i > k$$$, то $$$f_i$$$ может быть получена, используя следующую рекуррентную формулу:
$$$$$$f_i = \left(f_{i - 1} ^ {b_1} \cdot f_{i - 2} ^ {b_2} \cdot \cdots \cdot f_{i - k} ^ {b_k}\right) \bmod p,$$$$$$
или, если коротко,
$$$$$$f_i = \left(\prod_{j = 1}^{k} f_{i - j}^{b_j}\right) \bmod p,$$$$$$
где $$$p = 998\,244\,353$$$ (известное простое), $$$b_1, b_2, \ldots, b_k$$$ — известные целочисленные константы, а $$$x \bmod y$$$ обозначает остаток от деления $$$x$$$ на $$$y$$$.
Боб потерял значения $$$f_1, f_2, \ldots, f_k$$$, что очень печально: ведь они составляют основу последовательности! К счастью, Боб запомнил первые $$$k - 1$$$ элементов последовательности: $$$f_1 = f_2 = \ldots = f_{k - 1} = 1$$$, а также ее $$$n$$$-й элемент: $$$f_n = m$$$. Найдите любое возможное значение $$$f_k$$$. Если решений нет, скажите Бобу, что восстановить его любимую последовательность нельзя.
Первая строка содержит одно положительное целое число $$$k$$$ ($$$1 \leq k \leq 100$$$), обозначающее длину последовательности $$$b_1, b_2, \ldots, b_k$$$.
Вторая строка содержит $$$k$$$ положительных целых чисел $$$b_1, b_2, \ldots, b_k$$$ ($$$1 \leq b_i < p$$$).
Третья строка содержит два положительных целых числа $$$n$$$ и $$$m$$$ ($$$k < n \leq 10^9$$$, $$$1 \leq m < p$$$), которые означают, что $$$f_n = m$$$.
Выведите возможное значение $$$f_k$$$, где $$$f_k$$$ — положительное целое число такое, что $$$1 \leq f_k < p$$$. Если есть несколько возможных ответов, выведите любое. Если таких $$$f_k$$$, при которых $$$f_n = m$$$, не существует, выведите $$$-1$$$.
Можно легко показать, что если есть несколько возможных значений $$$f_k$$$, то должно быть хотя бы одно, удовлетворяющее $$$1 \leq f_k < p$$$.
3 2 3 5 4 16
4
5 4 7 1 5 6 7 14187219
6
8 2 3 5 6 1 7 9 10 23333 1
1
1 2 88888 66666
-1
3 998244352 998244352 998244352 4 2
-1
10 283 463 213 777 346 201 463 283 102 999 2333333 6263423
382480067
В первом примере $$$f_4 = f_3^2 \cdot f_2^3 \cdot f_1^5$$$. Поэтому, если $$$f_3 = 4$$$, то $$$f_4 = 16$$$. Обратите внимание, возможно есть несколько различных ответов.
В третьем примере из $$$f_7 = 1$$$ следует $$$f_{23333} = 1$$$.
В четвертом примере нет такого $$$f_1$$$, что $$$f_{88888} = 66666$$$. Поэтому нужно вывести $$$-1$$$.
Название |
---|