H,W,sx,sy,N = list(map(int,input().split())) sx -= 1;sy -= 1 point = [(sx,sy,0)] for _ in range(N): x,y,c = list(map(int,input().split())) x -= 1;y -= 1 point.append((x,y,c)) def can(i,j): x,y,_ = point[i] xx,yy,_ = point[j] return x == xx or y == yy INF = 10**18 dp = [[-INF, -INF] for _ in range(N+1)] dp[0][0] = 0 dp[0][1] = 0 for i in range(N): if(can(i,i+1)):dp[i+1][0] = dp[i][0] + point[i+1][2] dp[i+1][0] = max(dp[i+1][0], dp[i][1] + point[i+1][2]) dp[i+1][1] = max(dp[i][0], dp[i][1]) print(max(dp[-1]))