선형 점화식의 처음 k개 항과 계수, 그리고 매우 큰 N이 주어질 때 N번째 항을 104857601로 나눈 나머지를 구한다.
로또 자동 제출 프로그램에 넣을 난수 생성기(RNG)를 만든다. 이 생성기는 다음 선형 점화식으로 수열 AAA를 만든다.
Ai=(Ai−1C1+Ai−2C2+⋯+Ai−kCk) mod 104857601(i>k)A_i = (A_{i-1} C_1 + A_{i-2} C_2 + \cdots + A_{i-k} C_k) \bmod 104857601 \qquad (i > k)Ai=(Ai−1C1+Ai−2C2+⋯+Ai−kCk)mod104857601(i>k)
kkk와 NNN, 초기항 A1,A2,…,AkA_1, A_2, \ldots, A_kA1,A2,…,Ak, 계수 C1,C2,…,CkC_1, C_2, \ldots, C_kC1,C2,…,Ck가 주어질 때 ANA_NAN을 구하는 프로그램을 작성하시오.
첫째 줄에 kkk와 NNN이 공백으로 구분되어 주어진다. (1≤k≤300001 \le k \le 300001≤k≤30000, 1≤N≤10181 \le N \le 10^{18}1≤N≤1018)
둘째 줄에 A1,A2,…,AkA_1, A_2, \ldots, A_kA1,A2,…,Ak가 공백으로 구분되어 주어진다.
셋째 줄에 C1,C2,…,CkC_1, C_2, \ldots, C_kC1,C2,…,Ck가 공백으로 구분되어 주어진다. (0≤Ai,Ci<1048576010 \le A_i, C_i < 1048576010≤Ai,Ci<104857601)
첫째 줄에 ANA_NAN을 출력한다. ANA_NAN은 항상 104857601보다 작다.