Флэшбэки из Вьетнама Снаружи, за дверью хранилища, Дэнни Оушена ожидает комната, пол которой состоит из квадратных плиток. Передвигаться по плиткам можно только следуя определённым правилам, в противном случае немедленно включится сигнал тревоги. Ну прямо настоящее минное поле!
К счастью, наш герой Вьетнамскую войну, и ему доводилось бывать в передрягах и
посерьёзнее. К тому же правила передвижения по плиткам ему известны, так что выбраться из
комнаты для него не составит труда.
План комнаты можно представить клеточным полем размером N × M. Каждая клетка на нем –
это одна плитка. Дэнни знает, что для каждой плитки с координатами (i, j) определён коэффициент
Ci,j , который равен сумме всех подряд расположенных чисел, начиная от минимального из чисел i
и j и заканчивая максимальным из них, взятой по модулю K.
Например, для плитки (5, 3) при K = 9 выходит, что C5,3 = (3 + 4 + 5) mod 9 = 3.
Дэнни может переходить на соседнюю плитку вперёд или вправо либо перепрыгивать через одну
плитку в тех же направлениях. Если коэффициент плитки, на которой оказался Оушен, окажется
меньше коэффициента плитки, на которой он стоял до этого, то включится сигнал тревоги.
Дэнни хочет знать только одно число — количество , которыми он может попасть с
плитки с координатами (1, 1) на плитку с координатами (N, M), возле которой находится заветная
дверь, не подняв при этом тревоги. Причём это число также должно быть взято по модулю K.
ветерану Вьетнама достойно справиться с этой задачей.
Формат входных данных
Во входном файле записаны через пробел три целых числа: N, M и K
(1 6 N, M 6 103
, 1 6 K 6 1018).
Считается, что в начале Дэнни находится на плитке (1, 1).
Шаг на одну плитку вперёд означает попадание на плитку (2, 1), а вправо – на плитку (1, 2).
Правая верхняя плитка имеет координаты (N, M).
Формат выходных данных
В выходной файл нужно вывести одно целое число — количество , которыми Дэнни
может попасть на плитку (N, M), не подняв тревоги, взятое по модулю K.
Примеры
input.txt output.txt
2 2 4 0
2 3 2 1