import java.util.*;
public class Main{
public static final int inf = 0x3f3f3f3f;
public static int dis(int x, int y){
return x + y - 2;
}
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
int[][] a = new int[n+5][m+5];
int[][] f = new int[n+5][m+5];
int[][] tim = new int[n+5][m+5];
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
a[i][j] = in.nextInt();
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
f[i][j] = 0;
tim[i][j] = inf;
}
int t = in.nextInt();
for(int i=1;i<=t;i++){
int x, y ,z;
x = in.nextInt();
y = in.nextInt();
z = in.nextInt();
tim[x][y] = z;
}
f[1][1] = a[1][1];
int ans = 0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
if(dis(i, j) >= tim[i][j]) continue;
//System.out.println(i + " " + j);
if(i > 1 && f[i-1][j] != 0) f[i][j] = Math.max(f[i][j], f[i-1][j] + a[i][j]);
if(j > 1 && f[i][j-1] != 0) f[i][j] = Math.max(f[i][j], f[i][j-1] + a[i][j]);
ans = Math.max(ans, f[i][j]);
}
System.out.println(ans);
}
}