/*
TASK:sms
LANG:C++
*/
#include <iostream>
#include <stdio.h>
#include <vector>
#include <string>
#include <math.h>
#include <algorithm>
#include <cstdio>
#define pb push_back
#define FOR(i,n) for(int i=0;i<n;i++)
using namespace std;

int main()
{
    int chast[100];
    char sms[100][30];
    char ime[100][20];
    char help[30];
    int i;
    int n;
    cin >> n;
    FOR(i,n)
    {
        gets(ime[i]);
        scanf("%d",&chast[i]);
        gets(sms[i]);
    }
    FOR(i,n-1)
    {
        if (strcmp(ime[i],ime[i+1])==1)
        {
           strcpy(help,ime[i]);
           strcpy(ime[i],ime[i+1]);
           strcpy(ime[i+1],help);
           strcpy(help,sms[i]);
           strcpy(sms[i],sms[i+1]);
           strcpy(sms[i+1],help);
           int help2=chast[i];
           chast[i]=chast[i+1];
           chast[i+1]=chast[i];
           }
        }
    FOR(i,n-1)
    {
        if (chast[i]>chast[i+1])
        {
           strcpy(help,ime[i]);
           strcpy(ime[i],ime[i+1]);
           strcpy(ime[i+1],help);
           strcpy(help,sms[i]);
           strcpy(sms[i],sms[i+1]);
           strcpy(sms[i+1],help);
           int help2=chast[i];
           chast[i]=chast[i+1];
           chast[i+1]=chast[i];
           }
        }
    FOR(i,n-1)
    {
        cout << ime[i] << endl;
        cout << sms[i] << endl;
        while (strcmp(ime[i],ime[i+1])==0)
        {
              cout << sms[i+1] << endl;
              i++;
              }
        }
system("pause");
return 0;
}
