#include <iostream>
using namespace std;
struct STUDENT_SCORE
{
char name[16];
char id[16];
int eng;
};
#include <vector>
int main()
{
vector< STUDENT_SCORE > scores;
char inputs[ 256 ];
int orders[101] = { 0 };
while( cin.getline( inputs, sizeof inputs ) )
{
STUDENT_SCORE score;
sscanf( inputs, "%s%s%u", score.name, score.id, &score.eng );
scores.emplace_back( score );
orders[ score.eng ]++;
}
int accumulation = scores.size();
for( auto& order : orders )
order = ( accumulation -= order ) + 1;
for( const auto& score : scores )
cout << score.name << " " << score.id << " " << score.eng << " "
<< orders[ score.eng ] << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IFNUVURFTlRfU0NPUkUKewoJY2hhciBuYW1lWzE2XTsKCWNoYXIgaWRbMTZdOwoJaW50ICBlbmc7Cn07CgojaW5jbHVkZSA8dmVjdG9yPgoKaW50IG1haW4oKQp7Cgl2ZWN0b3I8IFNUVURFTlRfU0NPUkUgPglzY29yZXM7CgljaGFyIGlucHV0c1sgMjU2IF07CglpbnQgIG9yZGVyc1sxMDFdID0geyAwIH07CgoJd2hpbGUoIGNpbi5nZXRsaW5lKCBpbnB1dHMsIHNpemVvZiBpbnB1dHMgKSApCgl7CgkJU1RVREVOVF9TQ09SRSBzY29yZTsKCQlzc2NhbmYoIGlucHV0cywgIiVzJXMldSIsIHNjb3JlLm5hbWUsIHNjb3JlLmlkLCAmc2NvcmUuZW5nICk7CgkJc2NvcmVzLmVtcGxhY2VfYmFjayggc2NvcmUgKTsKCQlvcmRlcnNbIHNjb3JlLmVuZyBdKys7Cgl9CgogICAgaW50IGFjY3VtdWxhdGlvbiA9IHNjb3Jlcy5zaXplKCk7Cglmb3IoIGF1dG8mIG9yZGVyIDogb3JkZXJzICkKCSAgICBvcmRlciA9ICggYWNjdW11bGF0aW9uIC09IG9yZGVyICkgKyAxOwoJICAgIAoJZm9yKCBjb25zdCBhdXRvJiBzY29yZSA6IHNjb3JlcyApCgkJY291dCA8PCBzY29yZS5uYW1lIDw8ICIgIiA8PCBzY29yZS5pZCA8PCAiICIgPDwgc2NvcmUuZW5nIDw8ICIgIgoJCSAgICAgPDwgb3JkZXJzWyBzY29yZS5lbmcgXSA8PCBlbmRsOwoKCXJldHVybiAwOwp9Cg==