#include #include #include #include #include #include #include #include using namespace std; map > m; map >::iterator mi; set::iterator si; sets; mapyy; int n; int tx,ty; char c[11]; int temp,t2; int tt; int main() { int cas=1; while(cin>>n) { if(n==0) { break; } if(cas!=1) { cout< second.find(ty); if(si!=mi -> second.end()) { continue; } else { mi->second.insert(ty); } } else { m[tx].insert(ty); } } else if(c[0]=='f') { if(yy.upper_bound(ty) == yy.end()) { printf("-1\n"); continue; } tt = tx; while(true) { if(s.empty()) { printf("-1\n"); break; } si = s.upper_bound(tt); if(si!=s.end()) { temp = *si; tt = temp; if(m[temp].empty()) { continue; } si = m[temp].upper_bound(ty); if(si != m[temp].end()) { t2 = *si; printf("%d %d\n",temp,t2); break; } else { continue; } } else { printf("-1\n"); break; } } } else if(c[0]=='r') { m[tx].erase(ty); if(m[tx].empty()) { s.erase(tx); } if(!--yy[ty]) { yy.erase(ty); } } } } return 0; }