#include #include #include #include #include #include #include #include #include #include #include #include #define per pair #define x first #define y second #define DN 200000 #define DM 2000 using namespace std; ifstream f("test.in"); struct s{ int point,gol; string nume; }; set st; vector< s > t; map mp,gp; void read(){ string x,y; int a,b; while(cin>>x>>y>>a>>b){ st.insert(x); st.insert(y); gp[x]+=a; gp[y]+=b; if(a == b){ ++mp[x]; ++mp[y]; } if( a > b ) mp[x]+=3; if( a < b) mp[y]+=3; } } bool cmp(s p1,s p2){ if(p1.point == p2.point){ if(p1.gol == p2.gol) return p1.nume < p2.nume; return p1.gol > p2.gol; } return p1.point > p2.point; } void solve(){ for(set::iterator it=st.begin();it!=st.end();++it){ s r; r.point = mp[*it]; r.gol = gp[*it]; r.nume = *it; t.push_back(r); } sort(t.begin(),t.end(),cmp); for(int i=0;i