#include<iostream>#include<algorithm>#include<vector>using namespace std; typedef struct{ int id; int grade;}N;bool cmp(N a,N b){ if(a.grade!=b.grade)return a.grade>b.grade; else return a.id<b.id;}int min(int a,int b){ if(a<=b)return a; else return b;}int main(){ N t; int n,m,i; vector<N> v; while(cin>>n>>m && n) { m=min(n,m); while(n--) { cin>>t.id>>t.grade; v.push_back(t); } sort(v.begin(),v.end(),cmp); for(i=0;i<m; ++i) cout<<v[i].id<<endl; v.clear(); } return 0;}/************************************************************** Problem: 1346 User: 3011216016 Language: C++ Result: Accepted Time:290 ms Memory:1520 kb****************************************************************/