Operazioni modulo m

Proseguendo le ricerche sulle schede grafiche, il team si trova ora nella situazione di dover eseguire più calcoli per ogni coppia di numeri. Stanno ancora testando il loro codice e ti chiedono di scrivere un programma che verifichi le operazioni di addizione, sottrazione e moltiplicazione di numeri modulo m.
Date due liste di interi e , ti viene richiesto di calcolare:
Poiché risulta più veloce eseguire calcoli analoghi su una GPU, ti viene chiesto di stampare prima tutti i risultati dell’addizione, poi quelli della sottrazione e infine quelli della moltiplicazione.

Input

La prima riga dell’input contiene due interi n (1 ≤ n ≤ 100 000) e m (1 ≤ m ≤ ).
La seconda riga contiene n interi separati da uno spazio ().
La riga successiva contiene n interi separati da uno spazio ().

Output

La prima riga dell’output deve contenere tutte le somme separate da uno spazio .
La seconda riga deve contenere tutte le sottrazioni separate da uno spazio .
L’ultima riga deve raccogliere tutte le moltiplicazioni separate da uno spazio .

Esempi

Input
Output
3 3 1 2 1 3 4 1
1 0 2 1 1 0 0 2 1

Spiegazione

  1. Addizione (prima riga)
  1. Sottrazione (seconda riga)
  1. Moltiplicazione (terza riga)
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 3 MB

To check your solution you need to sign in
Sign in to continue