#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e5 + 5;
vector<int> g[N];
void solve()
{
int n, m;cin >> n >> m;
while(m --)
{
int u, v;
cin >> u >> v;
if(u != v)g[u].push_back(v), g[v].push_back(u);
}
for(int i = 1; i <= n; ++ i)sort(g[i].begin(), g[i].end());
for(int i = 1; i <= n; ++ i)
{
int temp = 0;
for(int j = 1; j <= n; ++ j)
{
if(j == g[i][temp])
{
cout << 1 << ' ';
temp ++;
}
else cout << 0 << ' ';
}
cout << '\n';
}
for(int i = 1; i <= n; ++ i)
{
cout << g[i].size() << ' ';
for(auto &w : g[i])cout << w << ' ';
cout << '\n';
}
}
int main()
{
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int _ = 1;
while(_ --) solve();
return 0;
}