#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define ll long long #define pb push_back #define mp make_pair #define pii pair #define pll pair #define all(x) (x).begin(), (x).end() #define fi first #define se second using namespace std; int a, b, i; string s, t; map p, g; set S; struct team { string s; int p, g; }; team A[10]; struct cmp { bool operator () (team x, team y) const { if(x.p == y.p) { if(x.g == y.g) return (x.s).compare(y.s) < 0; else return x.g > y.g; } else return x.p > y.p; } }; int main() { cin.sync_with_stdio(false); // freopen("test.in", "r", stdin); // freopen("test.out", "w", stdout); for(int I = 1; I <= 6; I++) { cin >> s >> t >> a >> b; if(a == b) { p[s]++; p[t]++; } else if(a > b) p[s] += 3; else p[t] += 3; g[s] += a; g[t] += b; S.insert(s); S.insert(t); } for(auto it : S) { i++; A[i].s = it; A[i].p = p[it]; A[i].g = g[it]; cerr << A[i].s << " " << A[i].p << " " << A[i].g << endl; } sort(A + 1, A + 5, cmp()); for(i = 1; i <= 4; i++) cout << A[i].s << '\n'; return 0; }