/*
TASK: music
LANG: C++
*/


#include <iostream>
#include <algorithm>
#include <string>

using namespace std;

typedef struct {
    string name;
    double score;
    int key;
} record;

bool cmp (record a, record b) {
    if (a.score < b.score) return true;
    if (a.score == b.score) if (a.key > b.key) return true;
    return false;
}

record vr[200];
int size = 0;
int n;

int main () {
    cin >> n;
    for (int i = 0; i < n; i ++) {
        int m, k;
        cin >> m;
        for (int j = 0; j < m; j ++) {
            record r;
            cin >> r.name >> r.score;
            r.key = size;
            vr[size] = r;
            push_heap(vr, vr + ++size, cmp);
        }
        cin >> k;
        for (int j = 0; j < k; j ++) {
            pop_heap(vr, vr + size--, cmp);
        }
    }
    cout << vr[0].name << endl;
    return 0;
}
