#include <algorithm>
#include <cstdio>
#include <iostream>
#include <sstream>
#include <string>
#include <tuple>
#include <vector>
struct Employee
{
unsigned id = 0 ;
std:: string first{ } ;
std:: string last{ } ;
unsigned salary = 0 ;
} ;
using EmployeeList = std:: vector < Employee> ;
int main( int , const char ** )
{
EmployeeList list{ } ;
std:: string line{ } ;
while ( std:: getline ( std:: cin , line) ) {
std:: stringstream ss{ line} ;
Employee e{ } ;
ss >> e.id ;
ss >> e.first ;
ss >> e.last ;
ss >> e.salary ;
list.push_back ( std:: move ( e) ) ;
}
std:: sort ( std:: begin ( list) , std:: end ( list) , [ ] ( auto a, auto b) {
return std:: tie ( a.last , a.salary ) < std:: tie ( b.last , b.salary ) ;
} ) ;
for ( const auto & e: list) {
std:: printf ( "%d - %s - %s - %d\n " , e.id , e.first .c_str ( ) , e.last .c_str ( ) , e.salary ) ;
}
return 0 ;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPHR1cGxlPgojaW5jbHVkZSA8dmVjdG9yPgoKc3RydWN0IEVtcGxveWVlCnsKCXVuc2lnbmVkIGlkID0gMDsKCXN0ZDo6c3RyaW5nIGZpcnN0e307CglzdGQ6OnN0cmluZyBsYXN0e307Cgl1bnNpZ25lZCBzYWxhcnkgPSAwOwp9OwoKdXNpbmcgRW1wbG95ZWVMaXN0ID0gc3RkOjp2ZWN0b3I8RW1wbG95ZWU+OwoKaW50IG1haW4oaW50LCBjb25zdCBjaGFyICoqKQp7CglFbXBsb3llZUxpc3QgbGlzdHt9OwoJc3RkOjpzdHJpbmcgbGluZXt9OwoKCXdoaWxlIChzdGQ6OmdldGxpbmUoc3RkOjpjaW4sIGxpbmUpKSB7CgkJc3RkOjpzdHJpbmdzdHJlYW0gc3N7bGluZX07CgoJCUVtcGxveWVlIGV7fTsKCQlzcyA+PiBlLmlkOwoJCXNzID4+IGUuZmlyc3Q7CgkJc3MgPj4gZS5sYXN0OwoJCXNzID4+IGUuc2FsYXJ5OwoKCQlsaXN0LnB1c2hfYmFjayhzdGQ6Om1vdmUoZSkpOwoJfQoKCXN0ZDo6c29ydChzdGQ6OmJlZ2luKGxpc3QpLCBzdGQ6OmVuZChsaXN0KSwgW10gKGF1dG8gYSwgYXV0byBiKSB7CgkJcmV0dXJuIHN0ZDo6dGllKGEubGFzdCwgYS5zYWxhcnkpIDwgc3RkOjp0aWUoYi5sYXN0LCBiLnNhbGFyeSk7Cgl9KTsKCglmb3IgKGNvbnN0IGF1dG8gJmU6IGxpc3QpIHsKCQlzdGQ6OnByaW50ZigiJWQgLSAlcyAtICVzIC0gJWRcbiIsIGUuaWQsIGUuZmlyc3QuY19zdHIoKSwgZS5sYXN0LmNfc3RyKCksIGUuc2FsYXJ5KTsKCX0KCglyZXR1cm4gMDsKfQ==
stdin
MTAwMCBHZW9yZ2UgV2FzaGluZ3RvbiAxMDAwMAoyMDAwIEpvaG4gQWRhbXMgMTUwMDAKMTIxMiBUaG9tYXMgSmVmZmVyc29uIDM0MDAwCjEzMTMgQWJyYWhhbSBMaW5jb2xuIDQ1MDAwCjE1MTUgSmltbXkgQ2FydGVyIDc4MDAwCjE3MTcgR2VvcmdlIEJ1c2ggODAwMDA=
1000 George Washington 10000
2000 John Adams 15000
1212 Thomas Jefferson 34000
1313 Abraham Lincoln 45000
1515 Jimmy Carter 78000
1717 George Bush 80000