// 2011/07/31 Tazoe

#include <iostream>
using namespace std;

struct team{
	char nam;
	int  win;
	int  los;
	int  drw;
	int  sn;
};

int main()
{
	while(true){
		int n;
		cin >> n;
		if(n==0)
			break;

		struct team T[10];
		for(int i=0; i<n; i++){
			cin >> T[i].nam;

			T[i].win = T[i].los = T[i].drw = 0;
			for(int j=0; j<n-1; j++){
				int r;
				cin >> r;
				if(r==0)
					T[i].win++;
				else if(r==1)
					T[i].los++;
				else if(r==2)
					T[i].drw++;
			}

			T[i].sn = i;
		}

		for(int i=0; i<n-1; i++)
			for(int j=i+1; j<n; j++)
				if(T[i].win<T[j].win
				 ||(T[i].win==T[j].win&&T[i].los>T[j].los)
				 ||(T[i].win==T[j].win&&T[i].los==T[j].los&&T[i].sn>T[j].sn)){
					struct team tmp = T[i];
					T[i] = T[j];
					T[j] = tmp;
				}

		for(int i=0; i<n; i++)
			cout << T[i].nam << endl;
	}

	return 0;
}