#include "wombats.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
int v[5000][200], h[5000][200];
int ans[101][101];
int n, m;
void init(int R, int C, int H[5000][200], int V[5000][200]) {
n = R;
m = C;
for (int i=0; i<n; i++) {
for (int j=0; j<m; j++) {
v[i][j] = V[i][j];
h[i][j] = H[i][j];
}
}
memset(ans, -1, sizeof(ans));
}
void changeH(int P, int Q, int W) {
h[P][Q] = W;
}
void changeV(int P, int Q, int W) {
v[P][Q] = W;
}
int dp[5000][200];
int escape(int V1, int V2) {
if (ans[V1][V2] != -1) return ans[V1][V2];
for (int i=0; i<n; i++) {
for (int j=0; j<m; j++) {
dp[i][j] = 1e9;
}
}
dp[0][V1] = 0;
int sm=0;
for (int i=V1; i<m; i++) {
dp[0][i] = sm;
if (i<m-1) sm += h[0][i];
}
sm=0;
for (int i=V1-1; i>=0; i--) {
sm += h[0][i];
dp[0][i] = sm;
}
for (int i=1; i<n; i++) {
for (int j=0; j<m; j++) {
int dis=0;
for (int k=j; k<m; k++) {
dp[i][j] = min(dp[i][j], dp[i-1][k]+v[i-1][k]+dis);
if (j<m-1) dis += h[i][k];
}
dis=0;
for (int k=j-1; k>=0; k--) {
dis += h[i][k];
dp[i][j] = min(dp[i][j], dp[i-1][k]+v[i-1][k]+dis);
}
}
}
ans[V1][V2] = dp[n-1][V2];
return dp[n-1][V2];
}