Операции по модулю m

Продолжая исследования в области видеокарт, команда столкнулась с необходимостью выполнить несколько вычислений для каждой пары чисел. Сейчас идёт этап тестирования кода, поэтому вас просят написать программу, которая будет проверять сложение, вычитание и умножение чисел по модулю m.
Даны два списка целых чисел и . Нужно вычислить:
Поскольку на GPU удобнее выполнять похожие операции, результаты сложения следует вывести первыми, за ними результаты вычитания, и в конце – результаты умножения.

Входные данные

В первой строке входных данных содержатся два целых числа n (1 ≤ n ≤ 100000) и m (1 ≤ m ≤ ).
Во второй строке записаны n целых чисел через пробел ().
В следующей строке указаны n целых чисел через пробел ().

Выходные данные

В первой строке выходных данных необходимо вывести все результаты сложения через пробел .
Во второй строке – все результаты вычитания через пробел .
В последней строке – все результаты умножения через пробел .

Примеры

Входные данные
Выходные данные
3 3 1 2 1 3 4 1
1 0 2 1 1 0 0 2 1

Пояснение

  1. Сложение (первая строка)
  1. Вычитание (вторая строка)
  1. Умножение (третья строка)
 

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