#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <utility>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <map>
#include <set>
#include <queue>
 
using namespace std;
 
#define pb(n)	push_back(n)
#define mp(n,m) make_pair(n,m)
#define fi 	first
#define se 	second
#define all(r) (r).begin(),(r).end()

#define rep(i,n) for(int i=0; i<(n); i++)
#define repc(i,a,b) for(int i=(a); i<(b); i++)

typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
 
const int IMAX=((1<<30)-1)*2+1;
const double EPS=1e-10;
//int mod=1000000007;



int main(){
	int n;
	int m,s,c;
	while(cin>>n && n>0){
		vector<pair<pair<int,int>,int>  > v(n,mp(mp(0,0),0));
		for(int i=0; i<n; i++){
			cin>>c;
			v[i].se=c;
			for(int j=0; j<4; j++){
				cin>>m>>s;
				v[i].fi.se+=s;
				v[i].fi.fi+=(m+v[i].fi.se/60);
				v[i].fi.se%=60;
			}
		}
		sort(all(v));
		cout<<v[0].se<<endl;
		cout<<v[1].se<<endl;
		cout<<v[n-2].se<<endl;

		// cout<<endl;
		// for(int i=0; i<n; i++){
		// 	cout<<v[i].se<<" "<<v[i].fi<<endl;
		// }
	}
}