#include<stdio.h>
#include<stdlib.h>
typedef struct s{int I,U,A,P;}s;
s S[501];
int N,a,t[501],i,j,m;
int c(const void *a,const void *b)
{
	s x=*(s*)a,y=*(s*)b;
	if(x.A!=y.A)
		return y.A-x.A;
	if(x.P!=y.P)
		return x.P-y.P;
	return x.I-y.I;
}
int main()
{
	for(;scanf("%d",&N),N;)
	{
		for(i=0;i<N;t[i++]=0)
			scanf("%d%d%d%d",&S[i].I,&S[i].U,&S[i].A,&S[i].P);
		qsort(S,N,sizeof(s),c);
		for(i=m=0;i<N;i++)
			if((m<10&&t[S[i].U]<3)||(m<20&&t[S[i].U]<2)||(m<26&&t[S[i].U]<1))
			{
				printf("%d\n",S[i].I);
				t[S[i].U]++;
				m++;
			}
	}
	return 0;
}