#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int f[N],n,m,p[N],q[N];
struct LAN
{
int z;
int nz;
}lan[N];
int main()
{
cin>>m>>n;
for(int i=0;i<n;i++)
{
int x,y,z;
scanf("%d %d %d",&x,&y,&z);
lan[x].z=y;
lan[x].nz=z;
}
int t=0,cnt=0,cnt1=0;
while(m!=-1)
{
t=abs(lan[m].z);
if(!f[t])
{
f[t]=1;
q[cnt++]=m;
m=lan[m].nz;
}
else
{
p[cnt1++]=m;
m=lan[m].nz;
}
}
for(int i=0;i<cnt;i++)
{
if(i!=cnt-1)
printf("%05d %d %05d\n",q[i],lan[q[i]].z,q[i+1]);
else
printf("%05d %d -1\n",q[i],lan[q[i]].z);
}
for(int i=0;i<cnt1;i++)
{
if(i!=cnt1-1)
printf("%05d %d %05d\n",p[i],lan[p[i]].z,p[i+1]);
else
printf("%05d %d -1\n",p[i],lan[p[i]].z);
}
return 0;
}