#include <iostream>
#include <cstdio>
#include <cstdlib>
#define MAXSIZE 30
using namespace std;
typedef struct
{
int i;
int j;
int v;
}TNode;
typedef struct
{
int m;
int n;
int t;
TNode data[MAXSIZE];
}TSMatrix;
void Creat_Matrix(TSMatrix *p,int m,int n)
{
int i,j,v;
p->m = m;
p->n = n;
p->t = 0;
while(scanf("%d%d%d",&i,&j,&v)&&v!=0)
{
p->data[p->t].i = i;
p->data[p->t].j = j;
p->data[p->t].v = v;
p->t++;
}
}
void Trans_Matrix(TSMatrix *a,TSMatrix *b)
{
int p,q,k;
b->m = a->m;
b->n = a->n;
b->t = a->t;
for(k = 0;k<a->n;k++)
{
for(p=0;p<a->t;p++)
{
if(k==a->data[p].j)
{
b->data[q].i = a->data[p].j;
b->data[q].j = a->data[p].i;
b->data[q].v = a->data[p].v;
printf("%d %d %d\n",b->data[q].i,b->data[q].j,b->data[q].v);
q++;
}
}
}
}
int main()
{
TSMatrix *p,*q;
int m,n;
scanf("%d%d",&m,&n);
p = (TSMatrix*)malloc(sizeof(TSMatrix));
q = (TSMatrix*)malloc(sizeof(TSMatrix));
Creat_Matrix(p,m,n);
Trans_Matrix(p,q);
return 0;
}