#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct f{char n[21];int m[9],t;double x;}f;
f F[50];
int N,i,j;
int c(const void *a,const void *b)
{
	if((*(f*)a).x==(*(f*)b).x)
		return strcmp((*(f*)a).n,(*(f*)b).n);
	return (*(f*)a).x-(*(f*)b).x>0?-1:1;
}
int main()
{
	for(;scanf("%d\n",&N),N;)
	{
		for(i=0;i<N;i++)
		{
			scanf("%s",F[i].n);
			for(j=0;j<9;j++)
				scanf("%d",&F[i].m[j]);
			F[i].t=(F[i].m[4]+F[i].m[5])*F[i].m[8];
			F[i].t+=F[i].m[1]+F[i].m[2]+F[i].m[3];
			F[i].x=((double)F[i].m[6]*F[i].m[7]*F[i].m[8]/F[i].t);
		}
		qsort(F,N,sizeof(f),c);
		for(i=0;i<N;i++)
			puts(F[i].n);
		puts("#");
	}
	return 0;
}