#include #include using namespace std; struct team { char name[50]; int gol; int puncte; }t[6]; int cauta_echipa(char nam[10]) { int i; for(i=0;i<6;i++) if(strcmp(nam,t[i].name)==0)return i; return -1; } int cauta_null(char name[10]) { int i; for(i=0;i<6;i++) if(t[i].name[0]<'a'||t[i].name[0]>'z') { strcpy(t[i].name,name); return i; } } int main() { int i; for(i=0;i<6;i++) { int s1,s2,i1,i2; char name1[50],name2[50]; scanf("%s%s%d%d",name1,name2,&s1,&s2); i1=cauta_echipa(name1); i2=cauta_echipa(name2); if(i1==-1)i1=cauta_null(name1); if(i2==-1)i2=cauta_null(name2); t[i1].gol+=s1; t[i2].gol+=s2; if(s1>s2)t[i1].puncte+=3; else if(s1==s2){t[i1].puncte+=1;t[i2].puncte+=1;} else t[i2].puncte+=3; } int j; for(i=0;i<5;i++) for(j=i+1;j<6;j++) { team aux; if(t[i].puncte>t[j].puncte){aux=t[j];t[j]=t[i];t[i]=aux;} else if(t[i].puncte==t[j].puncte&&t[i].gol>t[j].gol){aux=t[j];t[j]=t[i];t[i]=aux;} else if(t[i].puncte==t[j].puncte&&t[i].gol==t[j].gol) if(strcmp(t[i].name,t[j].name)>0){aux=t[j];t[j]=t[i];t[i]=aux;} } for(int i=5;i>=0;i--) printf("%s\n",t[i].name); return 0; } //Our greatest weakness lies in giving up. The most certain way to succeed is always to try just one more time.