Есть поле размеров N x M клеток. Вы стоите в клетке А(1,1) вам требуется дойти до клетки B(N,M). За один ход вы можете перейти на одну клетку вверх или на одну клетку вправо. Вам требуется посчитать число различных маршрутов из клетки А(1,1) в клетку В(N,M). Два маршрута считаются различными, если они различаются, как минимум в одном ходе.
Входные данные
В единственной строке N, M<= 1 000 000 , K <= 10 ^ 9;
Выходные данные
В единственной строке выведите ответ на задачу по модулю К.
Пример
1 100 10 1
2 3 10 3