#include<bits/stdc++.h>
using namespace std;
int main()
{
int node, edge;
cin>>node>>edge;
vector<int>graph[node+1];
int u, v;
for(int i = 1; i <= edge; i++)
{
cin>>u>>v;
graph[u].push_back(v);
graph[v].push_back(u);
}
for(int i = 1; i <= node; i++)
{
cout<<i<<" -> ";
for(int j = 0; j < graph[i].size(); j++)
{
cout<<graph[i][j]<<" ";
}
cout<<endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgaW50IG5vZGUsIGVkZ2U7CiAgICBjaW4+Pm5vZGU+PmVkZ2U7CiAgICB2ZWN0b3I8aW50PmdyYXBoW25vZGUrMV07CgogICAgaW50IHUsIHY7CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IGVkZ2U7IGkrKykKICAgIHsKICAgICAgICBjaW4+PnU+PnY7CiAgICAgICAgZ3JhcGhbdV0ucHVzaF9iYWNrKHYpOwogICAgICAgIGdyYXBoW3ZdLnB1c2hfYmFjayh1KTsKICAgIH0KCiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG5vZGU7IGkrKykKICAgIHsKICAgICAgICBjb3V0PDxpPDwiIC0+ICI7CiAgICAgICAgZm9yKGludCBqID0gMDsgaiA8IGdyYXBoW2ldLnNpemUoKTsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgY291dDw8Z3JhcGhbaV1bal08PCIgIjsKICAgICAgICB9CiAgICAgICAgY291dDw8ZW5kbDsKICAgIH0KCn0K