#include<bits/stdc++.h>
using namespace std;
#define all(x) x.begin(), x.end()
#define allr(x) x.rbegin(), x.rend()
#define pb push_back
#define ppb pop_back
#define ff first
#define ss second
void f(vector<vector<int>> &ans, int cur, int mx, int curRow, vector<vector<int>> G){
if(cur == mx) return;
vector<int> temp;
for(auto e : G[cur]) temp.pb(e);
int tempInd = 0;
for(int i = 0;i<ans.size();++i){
if(tempInd == temp.size()) break;
if(i % 2 == 0) ans[curRow][i] = cur;
else{
ans[curRow][i] = temp[tempInd];
tempInd++;
}
}
f(ans, cur + 1, mx, curRow + 2, G);
}
vector<vector<int>> create_map(int N, int M, vector<int> A, vector<int> B){
vector<vector<int>> G(50);
for(int i = 0;i<M;++i){
G[A[i]].pb(B[i]);
G[B[i]].pb(A[i]);
}
vector<vector<int>> ans(200, vector<int> (200, 0));
f(ans, 1, N+1, 0, G);
for(int i = 0;i<ans.size();++i){
for(int j = 0;j<ans.size();++j){
if(ans[i][j] == 0) ans[i][j] = 1;
}
}
return ans;
}
// int main(){
// // vector<vector<int>> ans = create_map(5, 7, {1, 1, 1, 1, 2, 2, 3}, {2, 3, 4, 5, 3, 4, 5});
// // vector<vector<int>> ans = create_map(5, 4, {1, 1, 1, 1}, {2, 3, 4, 5});
// vector<vector<int>> ans = create_map(4, 3, {1, 1, 1}, {2, 3, 4});
// for(int i = 0;i<ans.size();++i){
// for(int j = 0;j<ans.size();++j){
// cout<<ans[i][j]<<" ";
// }
// cout<<endl;
// }
// }