#include <bits/stdc++.h>
using namespace std;
#define MAXN 1000+10
int a[MAXN][MAXN],Ds[MAXN];
vector <int> vis[MAXN];
int n,m,a2,b;
void node(int x,int y)
{
vis[x].push_back(y);
Ds[x]++;
vis[y].push_back(x);
Ds[y]++;
}
void Sc(){
for(int i=1;i<=n;i++)
{
cout<<Ds[i]<<" ";
for(int j=0;j<vis[i].size();j++)
{
cout<<vis[i][j]<<" ";
}
cout<<endl;
}
}
int main() {
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>a2>>b;
a[a2][b]=1;
a[b][a2]=1;
node(a2,b);
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cout<<a[i][j]<<' ';
}
cout<<endl;
}
Sc();
return 0;
}