#include <iostream>
#include <vector>
using namespace std;
vector<int> mat[10005]; //相当于数组里面装的是一个个vector
int main(){
int n,m,x,y; // n>=1 m<=10000 1<=x<=n 0<=y<=10000
// n表示锯齿数组的行数,m表示插入的元素总数。
// x,y是表示在x行的末尾插入一个元素y。
cin >> n >> m;
for(int i=0;i<m;i++){
cin >> x >> y;
mat[x].push_back(y);
}
for(int i=1;i<=n;i++){
for(int j=0;j<mat[i].size();j++){
cout << mat[i][j] << " ";
}
cout << endl;
}
return 0;
}