#include using namespace std; #define rep(i, n) for (int i = 0; i < (n); i++) #define ALL(v) (v).begin(), (v).end() using ll = long long; using P = pair; constexpr int INF = 1e9; constexpr long long LINF = 1e18; constexpr long long MOD = 1e9 + 7; signed main() { int n; cin >> n; vector

pos[n]; int a[n][n]; rep(i, n) { rep(j, n) { cin >> a[i][j]; a[i][j]--; pos[a[i][j]].emplace_back(i, j); } } ll ans = 0; rep(i, n) { ll imos0[n + 1] = {}, imos1[n + 1] = {}, imos1r[n + 1] = {}; rep(j, n) { int y = pos[i][j].first, x = pos[i][j].second; imos0[0] += x; if (y + x + 1 <= n) imos1[y + (x + 1)]++; if (y - (x + 1) >= 0) imos1r[y - (x + 1)]++; } rep(j, n) { imos0[j + 1] += imos0[j]; imos1[j + 1] += imos1[j]; } for (int j = n; j > 0; j--) { imos1r[j - 1] += imos1r[j]; } rep(j, n) { imos1[j + 1] += imos1[j]; } for (int j = n; j > 0; j--) { imos1r[j - 1] += imos1r[j]; } ll mn = INF; rep(j, n) {; mn = min(mn, imos0[j] + imos1[j] + imos1r[j]); } ans += mn; } cout << ans << endl; return 0; }