// Arup Guha
// 9/27/2015
// Solution to 2003 UCF HS Problem: Blastamon

import java.util.*;

public class blastamon implements Comparable<blastamon> {

	// Being lazy - just defining object here.
	private String name;
	private int hitPoints;

	public blastamon(String n, int pts) {
		name = n;
		hitPoints = pts;
	}

	public int compareTo(blastamon other) {
		return this.hitPoints - other.hitPoints;
	}

	public String toString() {
		return name;
	}

	public static void main(String[] args) {

		Scanner stdin = new Scanner(System.in);
		int numPeople = stdin.nextInt();

		// Process each case.
		while (numPeople != 0) {

			// Read and sort.
			blastamon[] array = new blastamon[numPeople];
			for (int i=0; i<numPeople; i++) {
				String name = stdin.next();
				int pts = stdin.nextInt();
				array[i] = new blastamon(name, pts);
			}
			Arrays.sort(array);

			// Now print.
			for (int i=0; i<numPeople; i++)
				System.out.println(array[i]);
			System.out.println();

			// Get next case.
			numPeople = stdin.nextInt();
		}
	}
}