#include <stdio.h>
int min(int x, int y)
{
if (x > y)return y;
else return x;
}
int main()
{
int m, n, a[2005][2005], mind[2005], dp[2005] = { 0 },ans=0;
scanf("%d%d", &m, &n);
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
scanf("%d", &a[i][j]);
}
}
if (n == 1)
{
for (int j = 1; j <= m; j++)
{
ans += a[1][j];
}
printf("%d", ans);
return 0;
}
for (int j = 1; j <= m; j++)
{
for (int i = n; i >= 1; i--)
{
if (i != n&&i!=1)
{
mind[i] = min(mind[i + 1], dp[i - 1]);
}
else if (i != 1)mind[i] = min(dp[i], dp[i - 1]);
else mind[i] = mind[i + 1];
dp[i] = mind[i] + a[i][j];
}
}
ans = dp[1];
for (int i = 1; i <= n; i++)
{
if (dp[i] < ans)ans = dp[i];
}
printf("%d", ans);
return 0;
}