/*
 * src.cpp
 *
 *  Created on: 2016/07/27
 *      Author: joi
 */

#include <bits/stdc++.h>

using namespace std;

#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,a) FOR(i,0,a)

const int MAX_N=10;

int N;

struct team{
	int w,l,index;
	char name;
	bool operator < (const team &a)const{
		if (w!=a.w){
			return w<a.w;
		}
		if (l!=a.l){
			return l>a.l;
		}
		return index>a.index;
	}
};

team t[MAX_N];

int main(){
	do{
		cin>>N;
		if (N){
			cin.ignore();
			REP(i,N){
				string s;
				getline(cin,s);
				t[i].w=t[i].l=0;
				t[i].index=i;
				t[i].name=s[0];
				REP(j,N-1){
					char r=s[j*2+2];
					if (r=='0'){
						t[i].w++;
					}else if (r=='1'){
						t[i].l++;
					}
				}
			}
			sort(t,t+N);
			REP(i,N){
				cout<<t[N-i-1].name<<endl;
			}
		}
	}while (N);
	return 0;
}