#include #include #include using namespace std; const int MATCHES = 6; struct TEAM { int p, g; string name; }; bool cmp( TEAM A, TEAM B ) { return ( A.p > B.p || (A.p == B.p && A.g > B.g) || (A.p == B.p && A.g == B.g && A.name < B.name) ); } TEAM make_TEAM( string s ) { TEAM a; a.name = s; a.p = a.g = 0; return a; } vector v; int GET_TEAM( string s ) { for( int i = 0; i < (int)v.size(); ++i ) { if( v[i].name == s ) return i; } v.push_back( make_TEAM(s) ); return ( (int)v.size() - 1 ); } int main() { for( int i = 0; i < MATCHES; ++i ) { string a, b; int x, y; int t1, t2; cin >> a >> b >> x >> y; t1 = GET_TEAM( a ); t2 = GET_TEAM( b ); if( x > y ) { v[t1].p += 3; } else if( x < y ) { v[t2].p += 3; } else { v[t1].p += 1; v[t2].p += 1; } v[t1].g += x; v[t2].g += y; } sort( v.begin(), v.end(), cmp ); for( int i = 0; i < 4; ++i ) cout << v[i].name << '\n'; return 0; }