#include <bits/stdc++.h>
using namespace std;
#define maxn 1005
#define itn int
#define fro for
const int N = 1e5 + 5;
long long a[maxn][N];
set<long long> to[N];
long long m, n;
int main()
{
cin >> m >> n;
for (int i = 1; i <= n; i++)
{
long long x, y;
cin >> x >> y;
a[x][y] = 1;
a[y][x] = 1;
to[y].insert(x);
to[x].insert(y);
}
for (int i = 1; i <= n; i++)
{
for (int j = 1; i <= m; j++)
{
cout << a[i][j] << " ";
}
cout << '\n';
}
for (int i = 1; i <= n; i++)
{
cout << to[i].size() << " ";
for (auto it = to[i].begin(); it != to[i].end(); it++)
{
cout << *it << '\n';
}
cout << '\n';
}
return 0;
}