#include <bits/stdc++.h>
using namespace std;
vector<int> a[100010];
int n,m;
int main(){
int i,j,x,y;
cin>>n>>m;
for(i = 0;i < m;i++){
cin>>x>>y;
//向下标为x-1的向量中存储y
a[x-1].push_back(y);
}
for(i = 0;i < n;i++){
sort(a[i].begin(),a[i].end());
cout<<a[i].size()<<" ";
for(j = 0;j < a[i].size();j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
}
/**************************************************************
Problem: 1500
User: admin
Language: C++
Result: Accepted
Time:40 ms
Memory:4420 kb
****************************************************************/