printРабочее место участника

printЗадачи

1746. Оценка

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Вася очень любит программировать. Еще он очень любит научную фантастику. Как-то на каникулах, начитавшись книжек со своим другом Петей, Вася решил вывести формулу, показывающую рост популяции на Марсе. По прикидкам Васи после `N` лет жизни планеты популяция марсиан должна составлять `S_N` марсиан, где `S_N` определяется по формуле:
`S_N\ =\ sum_{k=0}^{N-1}\ k^2*2^k`
Петя, после того как Вася рассказал ему свою теорию, засомневался и решил вычислить это число на компьютере, чтобы убедиться в его достоверности. К тому же, Петя недавно прочитал умную книжку по программированию, поэтому он думает, что это не займет много времени.
Вам предлагается сделать то же самое, но без чтения умной книжки. Заметьте, что для Вашего удобства необходимо вывести `S_N` по модулю `M`.
Первая строка входа содержит количество тестов. Для каждого теста в отдельной строке содержится число `N` – возраст планеты Марс и число `M` – модуль. `0\ <\ N\ ≤\ 1000000000`, `0\ <\ M\ ≤\ 1000000000`.
Для каждого теста в выходной файл выводится строка, содержащая ожидаемое число марсиан после `N` лет жизни планеты по модулю `M`.

Пример ввода

2
1  1000
2  1000

Пример вывода

0
2
Четвертьфинальные соревнования Чемпионата мира Восточно-сибирского региона, 2009
loading