Gadījumskaitļi, ko ģenerē dators, patiesībā nav īsti gadījumskaitļi – tie tiek aprēķināti pēc noteikta algoritma, un starp tiem pastāv zināmas likumsakarības. Viens no lietotajiem algoritmiem ir šāds: par gadījumskaitļu virknes pirmajiem k locekļiem ņem dotus skaitļus X1, X 2, ...,Xk, bet pārējos aprēķina pēc formulas Xn = (a1Xn-1 + a2Xn-2 + ... + akXn-k + b) mod m. Jūsu uzdevums – uzrakstīt programmu, kas aprēķina šādas virknes N-to skaitli.
Teksta failā gadijum.dat doti naturāli skaitļi šādā secībā: k (1 ≤ k ≤ 30), m (1 ≤ m ≤ 1000), a1, a2, ..., ak, b (0 ≤ ai, b < m), X1, X2, ..., Xk (0 ≤ Xi < m), N (1 ≤ N ≤ 10100). Skaitļi atdalīti ar tukšumsimboliem vai rindas beigu simboliem.
Teksta faila gadijum.rez vienīgajā rindā izvadiet skaitli XN.
gadijum.dat | gadijum.rez |
2 5 1 2 3 4 0 3 |
1 |