#include <cstdio> #include <algorithm> using namespace std; struct str{int g,S,h;}; str s[10]; char a[505],v[505],V[505],t1[505],t2[505],t3[505],t4[505]; int n,i,T1,T2,nr1,nr2,p,nr,z,q,j; inline void cop(char x[],char y[]) { int i; for(i=0;i<=500;++i) x[i]=y[i]; } bool compar(char x[],char y[]) { int i; for(i=0;i<=500;++i) if(x[i]<y[i]) return true; else if(x[i]>y[i]) return false; return true; } bool egal(char x[],char y[]) { int i; for(i=0;i<=500;++i) if(x[i]<y[i]) return false; else if(x[i]>y[i]) return false; return true; } bool cmp(str x,str y) { int x1,x2; if(x.S>y.S) return true; if(x.S<y.S) return false; if(x.g>y.g) return true; if(x.g<y.g) return false; x1=x.h; x2=y.h; if(x1==1 && x2==2) return compar(t1,t2); if(x1==1 && x2==3) return compar(t1,t3); if(x1==1 && x2==4) return compar(t1,t4); if(x1==2 && x2==1) return compar(t2,t1); if(x1==2 && x2==3) return compar(t2,t3); if(x1==2 && x2==4) return compar(t2,t4); if(x1==3 && x2==1) return compar(t3,t1); if(x1==3 && x2==2) return compar(t3,t2); if(x1==3 && x2==4) return compar(t3,t4); if(x1==4 && x2==1) return compar(t4,t1); if(x1==4 && x2==2) return compar(t4,t2); if(x1==4 && x2==3) return compar(t4,t3); return false; } void sterge(char x[]) { int i; for(i=0;i<=500;++i) x[i]='0'; } int main() { nr=1;int ii; for(ii=1;ii<=6;++ii) { gets(a);T1=T2=-1;sterge(v); sterge(V); ////////////////////////////////////////////// p=0;z=0; while(a[p]!=' ') { v[++z]=a[p]; ++p; } if(nr<=4 && !(egal(v,t1) || egal(v,t2) || egal(v,t3) || egal(v,t4))) { if(nr==1) {cop(t1,v);T1=1;} else if(nr==2) {cop(t2,v);T1=2;} else if(nr==3) {cop(t3,v);T1=3;} else if(nr==4) {cop(t4,v);T1=4;} ++nr; } ///////////////////////////////// p++;z=0; while(a[p]!=' ') { V[++z]=a[p]; ++p; } if(nr<=4 && !(egal(V,t1) || egal(V,t2) || egal(V,t3) || egal(V,t4))) { if(nr==1) {cop(t1,V);T2=1;} else if(nr==2) {cop(t2,V);T2=2;} else if(nr==3) {cop(t3,V);T2=3;} else if(nr==4) {cop(t4,V);T2=4;} ++nr; } if(T1==-1) { if(egal(v,t1)) T1=1; else if(egal(v,t2)) T1=2; else if(egal(v,t3)) T1=3; else T1=4; } if(T2==-1) { if(egal(V,t1)) T2=1; else if(egal(V,t2)) T2=2; else if(egal(V,t3)) T2=3; else T2=4; } nr1=nr2=0;++p; while(a[p]<='9' && a[p]>='0') { nr1=nr1*10+a[p]-'0';++p; } ++p; while(a[p]<='9' && a[p]>='0') { nr2=nr2*10+a[p]-'0';++p; } if(nr1>nr2) s[T1].S+=3; else if(nr1==nr2) { s[T1].S++; s[T2].S++; } else s[T2].S+=3; s[T1].g+=nr1; s[T2].g+=nr2; } s[1].h=1;s[2].h=2;s[3].h=3;s[4].h=4; sort(s+1,s+5,cmp); for(i=1;i<=4;++i) { q=s[i].h; j=1; if(q==1) while(t1[j]!='0') { printf("%c",t1[j]); ++j; } else if(q==2) while(t2[j]!='0') { printf("%c",t2[j]); ++j; } else if(q==3) while(t3[j]!='0') { printf("%c",t3[j]); ++j; } else if(q==4) while(t4[j]!='0') { printf("%c",t4[j]); ++j; } printf("\n"); } return 0; }