#include <iostream>
#include <vector>
#include <algorithm>
template<typename Container,typename Functor>
void sort( Container &c, Functor f )
{
std::sort( std::begin(c), std::end(c), std::move(f) );
}
int main()
{
std::vector<int> v = { 4, 3, 7, 1 };
sort( v, []( int i1, int i2 ) { return i1 > i2; } );
for( auto i : v )
std::cout << i << ' ';
std::cout << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdGVtcGxhdGU8dHlwZW5hbWUgQ29udGFpbmVyLHR5cGVuYW1lIEZ1bmN0b3I+CnZvaWQgc29ydCggQ29udGFpbmVyICZjLCBGdW5jdG9yIGYgKQp7CglzdGQ6OnNvcnQoIHN0ZDo6YmVnaW4oYyksIHN0ZDo6ZW5kKGMpLCBzdGQ6Om1vdmUoZikgKTsKfQoKaW50IG1haW4oKQp7CglzdGQ6OnZlY3RvcjxpbnQ+IHYgPSB7IDQsIDMsIDcsIDEgfTsKCXNvcnQoIHYsIFtdKCBpbnQgaTEsIGludCBpMiApIHsgcmV0dXJuIGkxID4gaTI7IH0gKTsKCWZvciggYXV0byBpIDogdiApCgkgICAgc3RkOjpjb3V0IDw8IGkgPDwgJyAnOwoJc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKfQ==