Bij heel wat sporten krijgen de deelnemers (of teams) punten zodat men een rangschikking kan opstellen met de beste sporter op nummer 1. Hoe de punten bepaald worden, is sterk afhankelijk van de sport. Van zodra elke sporter punten gekregen heeft, kan er een rangschikking worden opgesteld. Daarvoor gaan jullie nu een programma schrijven. De persoon of het team met de hoogste punten krijgt rang 1. Deze met het tweede hoogst aantal krijgt dan rang 2 enz. Het is mogelijk dat er twee of meer personen of teams evenveel punten hebben. Zij krijgen dan allemaal dezelfde rang (de hoogst mogelijke). Stel dat er 3 zijn met de hoogste score. Deze krijgen dan alle 3 als rang 1. De volgende in het lijstje krijgt dan rang 4.

Invoer

De invoer begint met een regel die het aantal testgevallen T bevat. Per testgeval volgt er dan een eerste regel die het aantal personen of teams N aanduidt die moeten gerangschikt worden (1 ≤ N ≤ 100). Daarna volgen N regels met per regel de naam (bevat enkel letters [a − z, A − Z]) van de sporter of het team, gevolgd door een spatie en het aantal behaalde punten (≥ 0). Deze lijst is reeds gesorteerd. Dit wil zeggen dat een sporter met een hoger aantal punten altijd voor een speler met een lager aantal punten komt. Zoals gezegd kunnen er wel meerdere hetzelfde aantal punten hebben. Een voorbeeld vindt men hieronder.

Voorbeeldinvoer:

2
3
Jan 10
Jef 8
Jos 3
5
Jan 10
Els 10
Jos 3
Jef 3
Ann 1

Uitvoer

Per testgeval schrijf je N regels uit. Elke regel bevat eerst het nummer van het testgeval (startend bij 1). Dit wordt gevolgd door de rang, de naam Rangschikking Vlaamse Programmeerwedstrijd en het aantal punten. De delen worden gescheiden door één enkel spatie. Eerst komt deze met de hoogste rang, dan deze met de tweede hoogste enz. Bij eenzelfde rang (zelfde aantal punten) moet de volgorde van de invoer bewaard blijven. De uitvoer horende bij de bovenstaande uitvoer is als volgt:

Uitvoer:

1 1 Jan 10
1 2 Jef 8
1 3 Jos 3
2 1 Jan 10
2 1 Els 10
2 3 Jos 3
2 3 Jef 3
2 5 Ann 1