Processing math: 100%

Республиканская олимпиада по информатике 2014 год, Усть-Каменогорск


Задача E. Сумма в симпатичной таблице

Ограничение по времени:
1 секунда
Ограничение по памяти:
64 мегабайта

Вам задана прямоугольная таблица A из n строк и m столбцов. В этой таблице ровно n×m ячеек, пронумерованных последовательно натуральными числами сверху вниз, слева направо. A[i][j] будем обозначать ячейку прямоугольной таблицы A стоящей на пересечений i-ой строки и j-го столбца. Для конкретно заданного числа x симпатичной таблицей будет являться таблица A, для которой значения в ячейках таблицы будут равны x в степени номера соответствующей ячейки. Более формально A[i][j]=x(i1)m+j. Даны q запросов границы под прямоугольника x1,x2,y1,y2 и модуль p, ответом на каждый запрос будет сумма чисел в соответствующем под прямоугольнике по соответствующему модулю. Более формально (x2i=x1y2j=y1A[i][j])mod p. Напишите программу, отвечающую на заданные запросы. Симпатичная таблица A, 3 на 4, для числа x будет выглядеть следующим образом:\\ A=(x1x2x3x4x5x6x7x8x9x10x11x12)
Формат входного файла
В первой строке входных данных заданы три целых числа, разделенных пробелами n,m,x. В следующей строке входных данных задано единственное целое число q. В следующих q строках входных данных заданы запросы, каждый запрос задается пятью числами, разделенных пробелами x1,x2,y1,y2,p, 1x1x2n, 1y1y2m.
Формат выходного файла
Выведите q чисел, по одному на каждой строке, ответы на соответствующие запросы.
Примеры:
Вход
1 10 2
5
1 1 1 1 1000000007
1 1 1 2 1000000007
1 1 1 5 1000000007
1 1 2 4 1000000007
1 1 2 3 1000000007
Ответ
2
6
62
28
12
Замечание
Подзадача 1 — 7 баллов n=1, 1m10, 1x5, 1q100, p=109+7 Подзадача 2 — 9 баллов 1n100, 1m100, 1x109, 1q100, p=109+7 Подзадача 3 — 11 баллов 1n1000, 1m1000, 1x109, 1q104, p=109+7 Подзадача 4 — 21 баллов 1n109, 1m109, 1x109, 1q104, p=109+7 Подзадача 5 — 52 баллов 1n109, 1m109, 1x109, 1q104, 1p109
посмотреть в олимпиаде

Комментарий/решение: