class Solution {
public:
int N,M;
int move(vector<vector<int>>& nums,int& x,int& y){
int t = nums[x][y];
y++;
if(y == M){
y = 0;
x++;
}
return t;
}
vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) {
N = nums.size();
M = nums[0].size();
if(N*M == r*c){
vector<vector<int>> ans(r,vector<int>(c,0));
int x,y;
x = y = 0;
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
ans[i][j] = move(nums,x,y);
}
}
return ans;
}
return nums;
}
};