#include #include #include #include using namespace std; #define NMAX 105 char s[10][105]; int gol[NMAX],nrsir,nrc,v[NMAX]; int scor[NMAX],i1,i2,nr[NMAX]; int get_index(char sir[]) { nrc = strlen(sir); int i,j; for(i = 1; i <= nrsir; i++) { if(nr[i] != nrc) continue; for(j = 0; j < nr[i]; j++) if(s[i][j] != sir[j]) break; if(j == nr[i]) return i; } nrsir++; nr[nrsir] = nrc; for(i = 0; i < nrc; i++) s[nrsir][i] = sir[i]; return nrsir; } inline int cmp(const int &a, const int &b) { if(scor[a] != scor[b]) return scor[a] > scor[b]; if(gol[a] != gol[b]) return gol[a] > gol[b]; for(int i = 0; i < nr[a] && i < nr[b]; i++) if(s[a][i] != s[b][i]) return s[a][i] < s[b][i]; return nr[a] < nr[b]; } int main () { int i,a,b,j; char s1[NMAX],s2[NMAX]; // freopen("a.in","r",stdin); // freopen("a.out","w",stdout); for(i = 1; i <= 6; i++) { scanf("%s",s1); scanf("%s",s2); scanf("%d%d\n",&a,&b); i1 = get_index(s1); i2 = get_index(s2); if(a > b) scor[i1] += 3; if(b > a) scor[i2] += 3; if(a == b) { scor[i1]++; scor[i2]++; } gol[i1] += a; gol[i2] += b; } for(i = 1; i <= 4; i++) v[i] = i; sort(v + 1, v + 5, cmp); for(i = 1; i <= 4; i++, printf("\n")) for(j = 0; j < nr[v[i]]; j++) printf("%c",s[v[i]][j]); return 0; }