﻿/*
    Az input.txt fájlban adottak egy verseny eredményei
            kód pontszám
    formában több soron. Írjuk ki a kódokat pontszám szerinti
    csökkenő sorrendben.

    Pl.
        bemenet:
            5
            11  10
            12  5
            13  0
            14  12
            15  100
        kimenet:
            15 14 11 12 13
*/

#include <iostream>
#include <fstream>
using namespace std;


struct versenyzo
{
    int kod;
    int pontszam;
};

void rendezes(versenyzo t[], int n)
{
    for (int i=0;i<n;i++)
        for (int j=i+1;j<n;j++){
            if(t[i].pontszam < t[j].pontszam){
                versenyzo temp = t[i];
                t[i]=t[j];
                t[j]=temp;
            }
    }
}

int main()
{
    ifstream bemenet("input.txt");
    int n;
    bemenet >> n;
    versenyzo t[100];
    for (int i=0;i<n;i++){
        bemenet >> t[i].kod;
        bemenet >> t[i].pontszam;
    }

    rendezes(t,n);
    for (int i=0;i<n;i++){
        cout << t[i].kod << " " << t[i].pontszam;
        cout << endl;
    }

    return 0;
}
