#include #include #include void setData(int n,int m){ std::map eraF,eraE; int f,l; std::string name; for(int i=0;i>name>>f>>l; eraE[l]=name; eraF[l-f]=name; } std::map::iterator itE,itF; for(int i=0;i>f; itE=eraE.lower_bound(f); itF=eraF.lower_bound(f); if(itE==eraE.end()){ std::cout<<"Unknown\n"; continue; } if(itF!=eraF.begin()) itF--; if((*itF).second==(*itE).second && (*itF).first=f){ std::cout<<(*itF).second<<" "<>n>>m; while(n!=0 || m!=0){ setData(n,m); std::cin>>n>>m; } }