#include <iostream>
#include <fstream>
#include <cstring>
#include <sstream>
#include <vector>
#include <string>
using namespace std;
struct User {
string name; //Both first and last name go here
int birthYear;
string major;
};
int main()
{
istream &input = cin;
if(!input)
return -1;
string buffer;
int count = -1;
int index = 0;
int size = 0;
User* users;
while(getline(input, buffer, '\n'))
{
if(count == -1)
{
stringstream ss(buffer);
ss >> size;
users = new User[size];
count = 0;
}
else
{
if(count == 0)
{
users[index].name = buffer;
count++;
}
else if(count == 1)
{
stringstream ss(buffer);
ss >> users[index].birthYear;
count++;
}
else if(count == 2)
{
users[index].major = buffer;
count = 0;
index++;
}
}
}
for(int i = 0; i < size; i++)
{
cout<<users[i].name << " " << users[i].birthYear << " " << users[i].major <<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxzc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBVc2VyIHsgCiAgICBzdHJpbmcgbmFtZTsgLy9Cb3RoIGZpcnN0IGFuZCBsYXN0IG5hbWUgZ28gaGVyZSAKICAgIGludCBiaXJ0aFllYXI7IAogICAgc3RyaW5nIG1ham9yOyAKfTsgCgppbnQgbWFpbigpCnsKICAgIGlzdHJlYW0gJmlucHV0ID0gY2luOwoKICAgIGlmKCFpbnB1dCkKICAgICAgICByZXR1cm4gLTE7CgogICAgc3RyaW5nIGJ1ZmZlcjsKICAgIGludCBjb3VudCA9IC0xOwogICAgaW50IGluZGV4ID0gMDsKICAgIGludCBzaXplID0gMDsKICAgIFVzZXIqIHVzZXJzOwoKICAgIHdoaWxlKGdldGxpbmUoaW5wdXQsIGJ1ZmZlciwgJ1xuJykpCiAgICB7CiAgICAJaWYoY291bnQgPT0gLTEpCiAgICAgICAgewogICAgICAgIAlzdHJpbmdzdHJlYW0gc3MoYnVmZmVyKTsKICAgICAgICAgICAgc3MgPj4gc2l6ZTsKICAgICAgICAgICAgdXNlcnMgPSBuZXcgVXNlcltzaXplXTsKICAgICAgICAgICAgY291bnQgPSAwOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBpZihjb3VudCA9PSAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1c2Vyc1tpbmRleF0ubmFtZSA9IGJ1ZmZlcjsKICAgICAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZihjb3VudCA9PSAxKQogICAgICAgICAgICB7CiAgICAgICAgICAgIAlzdHJpbmdzdHJlYW0gc3MoYnVmZmVyKTsKICAgICAgICAgICAgICAgIHNzID4+IHVzZXJzW2luZGV4XS5iaXJ0aFllYXI7CiAgICAgICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYoY291bnQgPT0gMikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdXNlcnNbaW5kZXhdLm1ham9yID0gYnVmZmVyOwogICAgICAgICAgICAgICAgY291bnQgPSAwOwogICAgICAgICAgICAgICAgaW5kZXgrKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBmb3IoaW50IGkgPSAwOyBpIDwgc2l6ZTsgaSsrKQogICAgewogICAgICAgIGNvdXQ8PHVzZXJzW2ldLm5hbWUgPDwgIiAiIDw8IHVzZXJzW2ldLmJpcnRoWWVhciA8PCAiICIgPDwgdXNlcnNbaV0ubWFqb3IgPDxlbmRsOwogICAgfQogICAgcmV0dXJuIDA7Cn0=