#include<bits/stdc++.h>
using namespace std;
const int MAX_N=110;
const int MAX_M=110;
struct edge{
int v,next;
}E[MAX_M];
int p[MAX_N],eid;
void init()
{
memset(p,-1,sizeof(p));
eid=0;
}
void insert(int u,int v)
{
E[eid].v=v;
E[eid].next=p[u];
p[u]=eid++;
}
int main()
{
init();
int n,m;
cin>>n>>m;
int a,x,y;
for(int i=1;i<=m;i++)
{
cin>>a>>x>>y;
if(a==0)
{
insert(x,y);
}
else
{
insert(x,y);
insert(y,x);
}
}
for(int i=0;i<n;i++)
{
cout<<i<<":";
for(int j=p[i];j+1;j=E[j].next)
{
cout<<" "<<E[j].v;
}
cout<<endl;
}
return 0;
}
/*
4 4
0 0 1
1 0 2
0 3 1
1 2 3
*/