#define pb push_back
class Solution {
public:
int n, m;
vector<vector<int>> tmp;
vector<vector<int>> differenceOfDistinctValues(vector<vector<int>>& grid) {
m = (int) grid.size();
n = (int) grid[0].size();
vector<vector<int>> ans;
tmp = grid;
for(int i = 0; i < m; i ++) {
vector<int> res;
for(int j = 0; j < n; j ++) {
res.pb(yuri(i, j));
}
ans.pb(res);
}
return ans;
}
int yuri(int x, int y) {
set<int> S, S1;
for(int i = 0; i <= x - 1; i ++) {
int j = i + y - x;
if(j >= 0 && j < n)
S.insert(tmp[i][j]);
}
for(int i = x + 1; i < m; i ++) {
int j = i + y - x;
if(j >= 0 && j < n)
S1.insert(tmp[i][j]);
}
return abs(int (S.size()) - int (S1.size()));
}
};