//ЮФУ, ИКТИБ,МОП ЭВМ
//Программирование и основы теории алгоритмов
//Лаба 3.1 - массивы, указатели, строки
//КТбо1-6, Домбрина Алёна Игоревна
// Задача G
// 31.10.2023
#include <iostream>
using namespace std;
#define sizem 100
int main()
{
int n;
cin >> n;
int mm[sizem];
int hh[sizem];
int ss[sizem];
for (int i = 0; i < n; i++)
{
cin >> hh[i] >> mm[i] >> ss[i];
}
int arr[sizem];
for (int i = 0; i < n; i++)
{
arr[i] = hh[i]*3600 + mm[i]*60 + ss[i];
}
int min;
for (int i = 0; i < n -1; i++)
{
min = i;
for (int j = i + 1; j < n; j++)
{
if (arr[j] < arr[min])
{
min = j;
}
}
swap(arr[i], arr[min]);
}
for (int i = 0; i < n; i++)
{
cout << arr[i] / 3600 << " " << (arr[i] /60) % 60 <<" "<< arr[i] % 60 << endl;
}
return 0;
}