#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iostream>
#include <queue>
#include <algorithm>
using namespace std;
#define INF 100000000
int dp[25][505];
int pos[25][15];
int main()
{
int N, K;
while(~scanf("%d%d", &N, &K))
{
for(int j = 1; j <= N; ++j)
for(int i = 1; i <= 500; ++i)
dp[j][i] = INF;
for(int i = 1; i <= K; ++i)
{
scanf("%d", &pos[1][i]);
dp[1][pos[1][i]] = 0;
}
for(int i = 2; i <= N; ++i)
{
for(int j = 1; j <= K; ++j)
{
scanf("%d", &pos[i][j]);
for(int k = 1; k <= K; ++k)
{
int temp;
if(dp[i][pos[i][j]] > (temp = dp[i - 1][pos[i - 1][k]] + abs(pos[i][j] - pos[i - 1][k])))
dp[i][pos[i][j]] = temp;
}
}
}
int ans = INF;
for(int i = 1; i <= 500; ++i)
{
if(dp[N][i] < ans)
ans = dp[N][i];
}
printf("%d\n", ans);
}
return 0;
}