#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
typedef struct{
	string name;
	int p,abc,de,f,s,m;
	int sum;
	double KORITU;	//sum(収入) / 時間(abc+de)+付加時間(de*(m-1)
}K;

int main(){
	int n;
	int A,B,C,D,E;
	while(1){
	cin >> n;
	if(n==0)break;
	K data[51];
	K temp;
	for(int i=0;i<n;i++){
		cin >> data[i].name >> data[i].p >> A >> B >> C >> D >> E >> data[i].f >> data[i].s >> data[i].m;
		data[i].abc=A+B+C;
		data[i].de=D+E;

		data[i].sum= data[i].f * data[i].s * data[i].m - data[i].p;
		data[i].KORITU = (double)data[i].sum / (double)(data[i].abc+data[i].de + data[i].de*(data[i].m-1) );
	}
	for(int i=0;i<n-1;i++){
		for(int j=n-1;j>i;j--){
			if(data[j].KORITU > data[j-1].KORITU){
				temp=data[j];
				data[j]=data[j-1];
				data[j-1]=temp;
			}
		}
	}
	for(int i=0;i<n-1;i++){
	for(int j=n-1;j>i;j--){
		if(data[j].KORITU==data[j-1].KORITU&& data[j].name < data[j-1].name){
			temp=data[j];
				data[j]=data[j-1];
				data[j-1]=temp;
		}
	}
	}
	for(int i=0;i<n;i++){
		cout << data[i].name << endl;
	}
	cout << "#" << endl;
	}
}
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef pair<ll, ll> P;

#define each(i,a) for (auto&& i : a)
#define FOR(i,a,b) for (ll i=(a),__last_##i=(b);i<__last_##i;i++)
#define RFOR(i,a,b) for (ll i=(b)-1,__last_##i=(a);i>=__last_##i;i--)
#define REP(i,n) FOR(i,0,n)
#define RREP(i,n) RFOR(i,0,n)
#define __GET_MACRO3(_1, _2, _3, NAME, ...) NAME
#define rep(...) __GET_MACRO3(__VA_ARGS__, FOR, REP)(__VA_ARGS__)
#define rrep(...) __GET_MACRO3(__VA_ARGS__, RFOR, RREP)(__VA_ARGS__)
#define pb push_back
#define all(a) (a).begin(),(a).end()
#define chmin(x,v) x = min(x, v)
#define chmax(x,v) x = max(x, v)

const ll linf = 1e18;
const int inf = 1e9;
const double eps = 1e-12;
const double pi = acos(-1);

template<typename T>
istream& operator>>(istream& is, vector<T>& vec) {
    each(x,vec) is >> x;
    return is;
}
template<typename T>
ostream& operator<<(ostream& os, const vector<T>& vec) {
    rep(i,vec.size()) {
        if (i) os << " ";
        os << vec[i];
    }
    return os;
}
template<typename T>
ostream& operator<<(ostream& os, const vector< vector<T> >& vec) {
    rep(i,vec.size()) {
        if (i) os << endl;
        os << vec[i];
    }
    return os;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    ll n, a, b;
    while (cin >> n >> a >> b, n || a || b) {
        vector<ll> s(n); cin >> s;
        P ans(-linf, -linf);
        rep(i, n-1) {
            if (a <= i+1 && i+1 <= b) {
                chmax(ans, P(s[i] - s[i+1], i+1));
            }
        }
        cout << ans.second << endl;
    }
}