#include<bits/stdc++.h> usingnamespace std; intmain() { int n, m, i, j, t; map<int, multiset<longlong>> mpi, mpj; scanf("%d%d", &n, &m); for (i = 1; i <= n; i++) { for (j = 1; j <= m; j++) { scanf("%d", &t); mpi[t].insert(i); mpj[t].insert(j); } } longlong res = 0; for (auto mit = mpi.begin(); mit != mpi.end(); mit++) { i = 1; int x = mit->second.size(); for (auto it = mit->second.begin(); it != mit->second.end(); it++, i++) res += *it * (2 * i - 1 - x); } for (auto mit = mpj.begin(); mit != mpj.end(); mit++) { i = 1; int x = mit->second.size(); for (auto it = mit->second.begin(); it != mit->second.end(); it++, i++) res += *it * (2 * i - 1 - x); } printf("%lld", res); return0; }