#include <iostream>
#include <cstdio>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
struct stu {
string name;
string ID;
int grade;
bool operator() (const stu &o) {
return this->grade < o.grade;
}
} tmp, L, R;
bool cmp(const stu &a, const stu &b) {
return a.grade < b.grade;
}
vector<stu> vec;
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> tmp.name >> tmp.ID >> tmp.grade;
vec.push_back(tmp);
}
//°´ÕÕ·ÖÊýµÄ´ÓСµ½´óÅÅÐò
sort(vec.begin(), vec.end(), cmp);
cin >> L.grade >> R.grade;
// ¿¼²ì¶þ·ÖËã·¨£¬ÕâÀïÖ±½ÓʹÓÃSTLËã·¨¸ßЧ¼ò½à
// STLË㷨ʹÓã¬cmp×îºÃд³É·Âº¯ÊýµÄÐÎʽ
vector<stu>::iterator itL, itR, iter;
itL = lower_bound(vec.begin(), vec.end(), L, cmp);
itR = upper_bound(vec.begin(), vec.end(), R, cmp);
if (itL == vec.end()) cout << "NONE" << endl;
else {
//´Ó´óµ½Ð¡Êä³ö½á¹û
itR--;
for (iter = itR; iter >= itL; iter--) {
cout << iter->name << " " << iter->ID << endl;
}
}
return 0;
}