#include<iostream>
#include<vector>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m;
bool a[1010][1010];
vector<int>mp[1010];
int main(){
cin>>n>>m;
int p,q;
for(int i=1;i<=n;i++){
scanf("%d%d",&p,&q);
a[p][q]=a[q][p]=true;
mp[p].push_back(q);
mp[q].push_back(p);
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[i][j]){
printf("1 ");
}else{
printf("0 ");
}
}
printf("\n");
}
for(int i=1;i<=n;i++){
printf("%d ",mp[i].size());
sort(mp[i].begin(),mp[i].end());
for(vector<int>::iterator it=mp[i].begin();it!=mp[i].end();it++){
cout<<*it<<" ";
}
printf("\n");
}
return 0;
}