vector<vector<int>> diagonalSort(vector<vector<int>>& mat) {
if(mat[i][i-k]>mat[j][j-k])
swap(mat[i][i-k], mat[j][j-k]);
if(mat[i-k][i]>mat[j-k][j])
swap(mat[i-k][i], mat[j-k][j]);
if(mat[i+k][i]>mat[j+k][j])
swap(mat[i+k][i], mat[j+k][j]);
if(mat[i][i-k]>mat[j][j-k])
swap(mat[i][i-k], mat[j][j-k]);
for(int k=n-m+1;k<n-1;k++)
if(mat[i-k][i]>mat[j-k][j])
swap(mat[i-k][i], mat[j-k][j]);
if(mat[i][i+k]>mat[j][j+k])
swap(mat[i][i+k], mat[j][j+k]);