Pandemia

Time limit: 0.006s Memory limit: 8MB Input: pandemia.in Output: pandemia.out

Cerință

În plină perioadă de pandemie, cercetătorii unui institut vor să facă o serie de experimente pe culturi de celule. S-a observat deja că celula cercetată are o creștere liniară dependentă de cele trei zile imediat anterioare: dacă acum două zile aveam xx celule, ieri aveam yy iar astăzi avem zz celule, atunci mâine vom avea x+ay+bzx+ay+bz celule. Dacă într-o zi, numărul de celule depășește o valoare kk, cercetătorii reduc cultura la valoarea modulo KK.

Dacă, pentru un nn dat, se cunoaște numărul de celule din zilele nn, n1n-1, n2n-2 și se cunosc factorii de multiplicare aa și bb, care este numărul de celule care trebuie cultivate în primele 33 zile ale experimentului?

Date de intrare

Fișierul de intrare pandemia.in conține mai multe seturi de date. Pe prima linie se va găsi un număr întreg TT reprezentând numărul de experimente pentru care se cere răspunsul. Pe următoarele TT linii se vor găsi experimentele: câte șase numere întregi separate prin spații, în ordinea următoare: NN, AA, BB, UU, VV, WW, unde NN este numărul de zile ale experimentului, AA și BB sunt factorii de multiplicare din enunț, iar U,VU, V, respectiv WW reprezintă numărul de bacterii din zilele N,N1N, N-1 și, respectiv, N2N-2.

Date de ieșire

Fișierul de ieșire pandemia.out va conține TT linii cu răspunsurile, în ordine, la cele TT experimente din fișierul de intrare, și anume trei numere naturale mai mici decât KK separate prin câte un spațiu, reprezentând numărul de bacterii din ziua 00, ziua 11 și, respectiv ziua 22 (în această ordine).

Restricții și precizări

  • 1T50,3N100 0001 \leq T \leq 50, 3 \leq N \leq 100 \ 000, unde T,NT, N numere naturale
  • 1A,B100,1U,V,W<K1 \leq A, B \leq 100, 1 \leq U, V, W < K, unde AA, BB, UU, VV, WW numere naturale
  • K=10 000 007K = 10 \ 000 \ 007
  • prima zi se consideră ziua 00

Exemplu

pandemia.in

2
6 1 1 37 20 11
5 1 2 58 23 9

pandemia.out

1 2 3
1 2 3

Explicație

Testul 1:1: Intr-adevăr, dacă:

  • ziua 0:10: 1 celulă
  • ziua 1:21: 2 celule
  • ziua 2:32: 3 celule

atunci:

  • ziua 3:1+12+13=63: 1 + 1 \cdot 2 + 1 \cdot 3 = 6 celule
  • ziua 4:2+13+16=114: 2 + 1 \cdot 3 + 1 \cdot 6 = 11 celule
  • ziua 5:3+16+111=205: 3 + 1 \cdot 6 + 1 \cdot 11 = 20 celule
  • ziua 6:6+111+120=376: 6 + 1 \cdot 11 + 1 \cdot 20 = 37 celule

Testul 2:2: Intr-adevăr, dacă:

  • ziua 0:10: 1 celulă
  • ziua 1:21: 2 celule
  • ziua 2:32: 3 celule

atunci:

  • ziua 3:1+12+23=93: 1 + 1 \cdot 2 + 2 \cdot 3 = 9 celule
  • ziua 4:2+13+29=234: 2 + 1 \cdot 3 + 2 \cdot 9 = 23 celule
  • ziua 5:3+19+223=585: 3 + 1 \cdot 9 + 2 \cdot 23 = 58 celule

Log in or sign up to be able to send submissions!