Die Summe modulo m berechnen

Operationen auf einer Grafikkarte (GPU) lassen sich sehr gut parallelisieren. Wenn also derselbe Operationstyp auf viele Zahlen gleichzeitig angewendet werden kann, ist dies schneller, als verschiedenartige Operationen nacheinander durchzuführen. Das Team testet gerade seinen Code und bittet dich daher, ein Programm zu schreiben, das die Addition vieler Zahlen modulo einer anderen Zahl überprüft.

Angenommen, dir liegen zwei Listen von Ganzzahlen a1,a2,...,ana_1, a_2, ..., a_n und b1,b2,...,bnb_1, b_2, ..., b_n vor. Deine Aufgabe ist es, die Summe jedes Paares aia_i und bib_i modulo mim_i zu berechnen:

(ai+bi)mod  mi(a_i + b_i) \mod m_i

Beachte, dass unterschiedliche Programmiersprachen den Modulo-Operator unterschiedlich umsetzen. Python stellt etwa sicher, dass das Ergebnis immer positiv ist, wohingegen Sprachen wie C++ auch ein negatives Resultat liefern können (-3 % 2 → -1). Ein häufiger Trick besteht darin, das Ergebnis mit der If-Bedingung um m zu erhöhen, falls es negativ ist. Eine allgemeinere Methode ist folgende: ((a % m) + m) % m. Damit wird garantiert, dass das Endergebnis immer positiv bleibt.

Eingabe

Die erste Zeile der Eingabe enthält eine einzelne ganze Zahl n (1 ≤ n ≤ 100 000), die die Anzahl der Elemente vorgibt.

Die zweite Zeile enthält n durch Leerzeichen getrennte ganze Zahlen a1,a2,...,ana_1, a_2, ..., a_n (−109≤ai≤109-10^9 ≤ a_i ≤ 10^9).

Die nächste Zeile enthält n durch Leerzeichen getrennte ganze Zahlen b1,b2,...,bnb_1, b_2, ..., b_n (−109≤bi≤109-10^9 ≤ b_i ≤ 10^9).

Die letzte Zeile enthält n durch Leerzeichen getrennte ganze Zahlen m1,m2,...,mnm_1, m_2, ..., m_n (1≤mi≤1091 ≤ m_i ≤ 10^9).

Ausgabe

Das Programm soll n durch Leerzeichen getrennte ganze Zahlen ausgeben – (ai+bi)mod  mi(a_i + b_i) \mod m_i.

Beispiele

Eingabe

Ausgabe

3
1 2 1
3 4 1
2 5 3

0 1 2

Erläuterung

  1. (1+3)mod  2=4mod  2=0(1 + 3) \mod 2 = 4 \mod 2 = 0

  2. (2+4)mod  5=6mod  5=1(2 + 4) \mod 5 = 6 \mod 5 = 1

  3. (1+1)mod  3=2mod  3=2(1 + 1) \mod 3 = 2 \mod 3 = 2

Constraints

Time limit: 1.6 seconds

Memory limit: 512 MB

Output limit: 1 MB