#include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <cstring> using namespace std; struct Echipa { char id[150]; long p,goals; void init(){ memset(id,0,sizeof(id)); p=goals=0; } }; long i,cnt,g1,g2,id1,id2; Echipa E[5]; char e1[150],e2[150]; long getId1(){ for(long i=1;i<=cnt;i++){ if(E[i].id == e1) return i; } cnt++; for(long i=0;i<150;i++) E[cnt].id[i] = e1[i]; return cnt; } long getId2(){ for(long i=1;i<=cnt;i++){ if(E[i].id == e2) return i; } cnt++; for(long i=0;i<150;i++) E[cnt].id[i] = e2[i]; return cnt; } bool cmp(const Echipa& a,const Echipa& b){ if(a.p == b.p) { if(a.goals!=b.goals) return a.goals < b.goals; return a.id[1]<b.id[1]; } return a.p < b.p; } int main() { //freopen("test.in","r",stdin); E[1].init();E[2].init();E[3].init();E[4].init(); for(i=1;i<=6;i++){ memset(e1,0,sizeof(e1)); memset(e2,0,sizeof(e2)); scanf("%s %s %ld %ld\n",e1+1,e2+1,&g1,&g2); id1 = getId1(); id2 = getId2(); //cerr << e1+1 << '!' << e2+1 << '\n'; E[id1].goals += g1; E[id2].goals += g2; if(g1==g2){ E[id1].p++; E[id2].p++; } else if(g1<g2){ E[id2].p+=3; } else E[id1].p+=3; } sort(E+1,E+5,cmp); for(i=4;i;i--) printf("%s\n",E[i].id+1); return 0; }