로보골프
시간 제한3초메모리 제한512 MB
n×m 격자에 값이 있는 함정 k개가 주어집니다. 두 로봇이 칩을 오른쪽이나 아래로 번갈아 옮길 때, 모든 시작 칸의 게임 결과값 합을 구합니다.
문제
세계 로봇 올림피아드에서는 로봇 골프 대회가 열립니다. 경기장은 개의 단위 정사각형으로 이루어진 직사각형입니다. 행은 1부터 까지, 열은 1부터 까지 번호가 매겨져 있습니다. 각 칸은 행 번호 과 열 번호 의 쌍으로 나타냅니다.
두 로봇이 번갈아 가며 경기장 위의 특수한 칩을 움직입니다. 일부 칸에는 함정이 있습니다. 칩이 칸에 있으면, 차례인 로봇은 칩을 칸이나 칸으로 옮길 수 있습니다. 칩이 마지막 행이나 마지막 열에 있어서 해당 칸이 없으면, 로봇은 칩을 경기장 밖으로 옮길 수 있습니다. 칩이 경기장 밖에 있거나 함정이 있는 칸에 놓이면 경기가 끝납니다.
각 함정에는 정수 가격 가 정해져 있습니다. 경기 결과는 경기가 끝난 함정의 가격이며, 칩이 경기장 밖으로 나가 끝났다면 0입니다. 먼저 움직이는 로봇은 결과를 최소화하려 하고, 나중에 움직이는 로봇은 결과를 최대화하려 합니다.
칩이 처음에 칸에 있을 때, 상대가 어떻게 두든 먼저 움직이는 로봇이 확실히 얻을 수 있는 가장 작은 결과를 라 합니다. 로봇 개발자들은 시작 칸을 미리 알 수 없으므로, 모든 칸의 를 더한 합을 구하려 합니다. 함정의 위치와 가격이 주어졌을 때 이 합을 구하세요.
입력
첫 줄에 세 정수 , , 가 주어집니다 (; ). 각각 행의 수, 열의 수, 함정의 수입니다. 이어지는 개의 줄에는 세 정수 , , 가 주어집니다 (, , ). 각각 번째 함정의 행 번호, 열 번호, 가격입니다. 서로 다른 두 함정이 같은 칸에 놓이지 않습니다.
출력
모든 칸의 합을 으로 나눈 나머지를 한 줄에 출력하세요. 음수 에 대한 나머지 는 을 만족하는 정수 가 존재하고, 이상 이하인 값입니다. 예를 들어 , , , 입니다.
힌트
첫 번째 예제에서 모든 칸의 보장된 결과는 아래 그림과 같습니다. 함정이 있는 칸은 강조 표시했습니다.

결과의 합은 입니다. 답은 입니다.
두 번째 예제에서 모든 칸의 보장된 결과는 아래 그림과 같습니다. 함정이 있는 칸은 강조 표시했습니다.

결과의 합은 입니다. 답은 입니다.