#include <bits/stdc++.h>
using namespace std;
#define int long long
#define vi vector<int>
#define fi first
#define se second
#define pb push_back
#define ii pair<int , int>
#define pq priority_queue
#define iii pair<int , pair<int , int>>
#define fo(i,l,r) for(int i=l;i<=r;i++)
#define fod(i,r,l) for(int i=r;i>=l;i--)
#define fill(f,x) memset(f,x,sizeof(f))
#define NAME "file"
const int N = 1e3 + 5, mod = 1e9 + 7;
vector <int> g[N*N];
int a[N][N] , p[N*N] , id[N][N] , s[N*N] , d[N*N];
unordered_map <int , bool> mp[N*N];
int n , m;
int acs(int u)
{
if (p[u] == u) return u;
return p[u] = acs(p[u]);
}
void join(int u , int v)
{
int x = acs(u);
int y = acs(v);
if (x != y)
{
p[x] = y;
s[y] += s[x];
}
}
void bfs()
{
fo(i, 1, n * m) d[i] = 1e18;
d[acs(1)] = 0;
priority_queue <ii , vector <ii> , greater <ii>> q;
q.push({0 , acs(1)});
while (!q.empty())
{
int u = q.top().se;
int c = q.top().fi;
q.pop();
for (auto v : g[u])
{
if (d[v] > d[u] + s[v])
{
d[v] = d[u] + s[v];
q.push({d[v] , v});
}
}
}
}
signed main()
{
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
//freopen(NAME".INP" , "r" , stdin);
//freopen(NAME".OUT" , "w" , stdout);
cin >> n >> m;
int cnt = 0;
fo(i, 1, n)
fo(j, 1, m)
{
cin >> a[i][j];
if (a[i][j] == 1) a[i][j] = 0;
id[i][j] = ++cnt;
p[cnt] = cnt;
s[cnt] = a[i][j];
}
fo(i, 1, n)
fo(j, 1, m)
{
if (i + 1 <= n && a[i][j] == a[i + 1][j])
join(id[i][j] , id[i + 1][j]);
if (j + 1 <= m && a[i][j] == a[i][j + 1])
join(id[i][j] , id[i][j + 1]);
}
fo(i, 1, n)
fo(j, 1, m)
{
int u = acs(id[i][j]) , v1 , v2;
if (i + 1 <= n) v1 = acs(id[i + 1][j]);
if (j + 1 <= m) v2 = acs(id[i][j + 1]);
if (i + 1 <= n && acs(u) != acs(v1) && !mp[u][v1])
{
g[u].push_back(v1);
g[v1].push_back(u);
mp[u][v1] = 1;
mp[v1][u] = 1;
//cout << u << ' ' << v1 << '\n';
}
if (j + 1 <= m && acs(u) != acs(v2) && !mp[u][v2])
{
g[u].push_back(v2);
g[v2].push_back(u);
mp[u][v2] = 1;
mp[v2][u] = 1;
//cout << u << ' ' << v2 << '\n';
}
}
bfs();
cout << d[acs(id[n][m])];
}
// haronnee_
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIHZpIHZlY3RvcjxpbnQ+CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBpaSBwYWlyPGludCAsIGludD4KI2RlZmluZSBwcSBwcmlvcml0eV9xdWV1ZQojZGVmaW5lIGlpaSBwYWlyPGludCAsIHBhaXI8aW50ICwgaW50Pj4KI2RlZmluZSBmbyhpLGwscikgZm9yKGludCBpPWw7aTw9cjtpKyspCiNkZWZpbmUgZm9kKGkscixsKSBmb3IoaW50IGk9cjtpPj1sO2ktLSkKI2RlZmluZSBmaWxsKGYseCkgbWVtc2V0KGYseCxzaXplb2YoZikpCiNkZWZpbmUgTkFNRSAiZmlsZSIKCmNvbnN0IGludCBOID0gMWUzICsgNSwgbW9kID0gMWU5ICsgNzsKdmVjdG9yIDxpbnQ+IGdbTipOXTsKaW50IGFbTl1bTl0gLCBwW04qTl0gLCBpZFtOXVtOXSAsIHNbTipOXSAsIGRbTipOXTsKdW5vcmRlcmVkX21hcCA8aW50ICwgYm9vbD4gbXBbTipOXTsKaW50IG4gLCBtOwoKaW50IGFjcyhpbnQgdSkKewogICAgaWYgKHBbdV0gPT0gdSkgcmV0dXJuIHU7CiAgICByZXR1cm4gcFt1XSA9IGFjcyhwW3VdKTsKfQp2b2lkIGpvaW4oaW50IHUgLCBpbnQgdikKewogICAgaW50IHggPSBhY3ModSk7CiAgICBpbnQgeSA9IGFjcyh2KTsKICAgIGlmICh4ICE9IHkpCiAgICB7CiAgICAgICAgcFt4XSA9IHk7CiAgICAgICAgc1t5XSArPSBzW3hdOwogICAgfQp9Cgp2b2lkIGJmcygpCnsKICAgIGZvKGksIDEsIG4gKiBtKSBkW2ldID0gMWUxODsKICAgIGRbYWNzKDEpXSA9IDA7CiAgICBwcmlvcml0eV9xdWV1ZSA8aWkgLCB2ZWN0b3IgPGlpPiAsIGdyZWF0ZXIgPGlpPj4gcTsKICAgIHEucHVzaCh7MCAsIGFjcygxKX0pOwoKICAgIHdoaWxlICghcS5lbXB0eSgpKQogICAgewogICAgICAgIGludCB1ID0gcS50b3AoKS5zZTsKICAgICAgICBpbnQgYyA9IHEudG9wKCkuZmk7CiAgICAgICAgcS5wb3AoKTsKICAgICAgICBmb3IgKGF1dG8gdiA6IGdbdV0pCiAgICAgICAgewogICAgICAgICAgICBpZiAoZFt2XSA+IGRbdV0gKyBzW3ZdKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBkW3ZdID0gZFt1XSArIHNbdl07CiAgICAgICAgICAgICAgICBxLnB1c2goe2Rbdl0gLCB2fSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KCnNpZ25lZCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7ICBjb3V0LnRpZSgwKTsKICAgIC8vZnJlb3BlbihOQU1FIi5JTlAiICwgInIiICwgc3RkaW4pOwogICAgLy9mcmVvcGVuKE5BTUUiLk9VVCIgLCAidyIgLCBzdGRvdXQpOwoKICAgIGNpbiA+PiBuID4+IG07CiAgICBpbnQgY250ID0gMDsKICAgIGZvKGksIDEsIG4pCiAgICBmbyhqLCAxLCBtKQogICAgewogICAgICAgIGNpbiA+PiBhW2ldW2pdOwogICAgICAgIGlmIChhW2ldW2pdID09IDEpIGFbaV1bal0gPSAwOwogICAgICAgIGlkW2ldW2pdID0gKytjbnQ7CiAgICAgICAgcFtjbnRdID0gY250OwogICAgICAgIHNbY250XSA9IGFbaV1bal07CiAgICB9CiAgICAKICAgIGZvKGksIDEsIG4pCiAgICBmbyhqLCAxLCBtKQogICAgewogICAgICAgIGlmIChpICsgMSA8PSBuICYmIGFbaV1bal0gPT0gYVtpICsgMV1bal0pCiAgICAgICAgICAgIGpvaW4oaWRbaV1bal0gLCBpZFtpICsgMV1bal0pOwoKICAgICAgICBpZiAoaiArIDEgPD0gbSAmJiBhW2ldW2pdID09IGFbaV1baiArIDFdKQogICAgICAgICAgICBqb2luKGlkW2ldW2pdICwgaWRbaV1baiArIDFdKTsKICAgIH0KCiAgICBmbyhpLCAxLCBuKQogICAgZm8oaiwgMSwgbSkKICAgIHsKICAgICAgICBpbnQgdSA9IGFjcyhpZFtpXVtqXSkgLCB2MSAsIHYyOwogICAgICAgIGlmIChpICsgMSA8PSBuKSB2MSA9IGFjcyhpZFtpICsgMV1bal0pOwogICAgICAgIGlmIChqICsgMSA8PSBtKSB2MiA9IGFjcyhpZFtpXVtqICsgMV0pOwoKICAgICAgICBpZiAoaSArIDEgPD0gbiAmJiBhY3ModSkgIT0gYWNzKHYxKSAmJiAhbXBbdV1bdjFdKQogICAgICAgIHsKICAgICAgICAgICAgZ1t1XS5wdXNoX2JhY2sodjEpOwogICAgICAgICAgICBnW3YxXS5wdXNoX2JhY2sodSk7CiAgICAgICAgICAgIG1wW3VdW3YxXSA9IDE7CiAgICAgICAgICAgIG1wW3YxXVt1XSA9IDE7CiAgICAgICAgICAgIC8vY291dCA8PCB1IDw8ICcgJyA8PCB2MSA8PCAnXG4nOwogICAgICAgIH0KICAgICAgICBpZiAoaiArIDEgPD0gbSAmJiBhY3ModSkgIT0gYWNzKHYyKSAmJiAhbXBbdV1bdjJdKQogICAgICAgIHsKICAgICAgICAgICAgZ1t1XS5wdXNoX2JhY2sodjIpOwogICAgICAgICAgICBnW3YyXS5wdXNoX2JhY2sodSk7CiAgICAgICAgICAgIG1wW3VdW3YyXSA9IDE7CiAgICAgICAgICAgIG1wW3YyXVt1XSA9IDE7CiAgICAgICAgICAgIC8vY291dCA8PCB1IDw8ICcgJyA8PCB2MiA8PCAnXG4nOwogICAgICAgIH0KICAgIH0KCiAgICBiZnMoKTsKCiAgICBjb3V0IDw8IGRbYWNzKGlkW25dW21dKV07Cn0KLy8gaGFyb25uZWVfIA==