#include <stdlib.h> #include <stdio.h> #include <string.h> #define len 2000 typedef struct mos{ int weight; char color[100]; }mos; mos initial_mos(int weight,char color[]){ mos ms; ms.weight = weight; strcpy(ms.color,color); return ms; } mos mos_list[len]; int cmp(const void*s1,const void*s2){ mos a1 = *(mos*)s1; mos a2 = *(mos*)s2; return a2.weight-a1.weight; } void sort_list(int n){ qsort(mos_list,n,sizeof(mos),cmp); } int main(){ int n; while(scanf("%d",&n)!=EOF){ int weight; char color[100]; for(int i = 0;i<n;i++){ scanf("%d %s",&weight,color); mos_list[i] = initial_mos(weight,color); } sort_list(n); for(int i = 0;i<n;i++){ printf("%s\n",mos_list[i].color); } } }