vp

Time limit: 0.1s Memory limit: 64MB Input: Output:

Initial, Andrei avea doua șiruri VV și PP de NN elemente. Pe șirul VV erau puse niște numere naturale <M< M, dar pe șirul PP erau puse niște numere cu următoarea proprietate: Pi=(Pi1×Vi)P_i = (P_{i-1} \times V_i) (mod MM), pentru fiecare ii, 2iN2 \leq i \leq N, iar Pi=ViP_i=V_i, pentru i=1i=1.

Într-o dimineață, acesta realiza că a dat cu apă pe niște numere, și acestea erau necitibile!

Deoarece Andrei vrea ca ambele șiruri VV și PP să fie citibile cap-coadă, acesta vă roagă să îi reconstituiți șirurile.

Date de intrare

Pe prima linie se vor afla 22 numere naturale NN și MM, iar pe a doua și pe a treia linie din input, se vor găsi șirurile VV, respectiv PP. Dacă pe o poziție ii dată se află numărul 1-1, înseamnă că acest număr nu poate fi citibil. Se garantează că numerele citibile respectă proprietatea din enunț.

Date de ieșire

Pe prima linie se va afla șirul VV citibil cap-coadă, iar pe a doua linie se va afla șirul PP citibil cap-coadă. Deoarece Andrei este un băiat îngânduitor, acesta va permite orice soluție pe care ați găsit-o, dar trebuie să respecte regula șirurilor.

Restricții și precizări

  • 1N1051 \leq N \leq 10^5
  • 1M10001 \leq M \leq 1000
  • Pentru 4242 de puncte, N1000N \leq 1000
  • Se garantează că există soluție
  • In timpul contestului "RoAlgo Contest #2", nu exista testul cu idul 14. Acesta a fost adaugat ulterior astfel incat doar solutia cu cea mai buna complexitate sa ia 100 de puncte

Exemplul 1

stdin

3 6
1 -1 4
-1 -1 -1

stdout

1 4 4
1 4 4

Explicație

  • 1=11 = 1
  • 4=(1×4)4 = (1 \times 4) (mod 66)
  • 4=(4×4)4 = (4 \times 4) (mod 66)

Deci șirurile acestea respectă proprietatea.

Exemplul 2

stdin

3 7
-1 -1 5
-1 -1 6

stdout

2 2 5
2 4 6

Explicație

  • 2=22 = 2
  • 4=(2×2)4 = (2 \times 2) (mod 77)
  • 6=(4×5)6 = (4 \times 5) (mod 77)

Deci șirurile acestea respectă proprietatea.

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