#include <bits/stdc++.h>
using namespace std;
void solve(){
int hp, n, m; cin >> hp >> n >> m;
int a[n][m], dp[n][m];
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
cin >> a[i][j];
dp[i][j] = 0;
}
} dp[0][0] = hp + a[0][0];
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
if(i == 0 && j == 0) continue;
int fromTop = (i - 1 >= 0 && dp[i - 1][j] > 0) ? dp[i - 1][j] + a[i][j] : -1;
int fromLeft = (j - 1 >= 0 && dp[i][j - 1] > 0) ? dp[i][j - 1] + a[i][j] : -1;
dp[i][j] = max(fromTop, fromLeft);
if(dp[i][j] <= 0) dp[i][j] = -1;
}
} cout << max(-1, dp[n - 1][m - 1]) << "\n";
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHNvbHZlKCl7CiAgICBpbnQgaHAsIG4sIG07IGNpbiA+PiBocCA+PiBuID4+IG07CiAgICBpbnQgYVtuXVttXSwgZHBbbl1bbV07CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKXsKICAgICAgICBmb3IoaW50IGogPSAwOyBqIDwgbTsgaisrKXsKICAgICAgICAgICAgY2luID4+IGFbaV1bal07CiAgICAgICAgICAgIGRwW2ldW2pdID0gMDsKICAgICAgICB9CiAgICB9IGRwWzBdWzBdID0gaHAgKyBhWzBdWzBdOwogICAgZm9yKGludCBpID0gMDsgaSA8IG47IGkrKyl7CiAgICAgICAgZm9yKGludCBqID0gMDsgaiA8IG07IGorKyl7CiAgICAgICAgICAgIGlmKGkgPT0gMCAmJiBqID09IDApIGNvbnRpbnVlOwogICAgICAgICAgICBpbnQgZnJvbVRvcCA9IChpIC0gMSA+PSAwICYmIGRwW2kgLSAxXVtqXSA+IDApID8gZHBbaSAtIDFdW2pdICsgYVtpXVtqXSA6IC0xOwogICAgICAgICAgICBpbnQgZnJvbUxlZnQgPSAoaiAtIDEgPj0gMCAmJiBkcFtpXVtqIC0gMV0gPiAwKSA/IGRwW2ldW2ogLSAxXSArIGFbaV1bal0gOiAtMTsKICAgICAgICAgICAgZHBbaV1bal0gPSBtYXgoZnJvbVRvcCwgZnJvbUxlZnQpOwogICAgICAgICAgICBpZihkcFtpXVtqXSA8PSAwKSBkcFtpXVtqXSA9IC0xOwogICAgICAgIH0gCiAgICB9IGNvdXQgPDwgbWF4KC0xLCBkcFtuIC0gMV1bbSAtIDFdKSA8PCAiXG4iOwp9CgppbnQgbWFpbigpewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKE5VTEwpOyBjb3V0LnRpZShOVUxMKTsKICAgIAogICAgc29sdmUoKTsKfQ==