#include <map>
using std::map;
struct map_data{
int data1;
int data2;
};
struct
{
bool operator()(map_data one, map_data two) const
{
if(one.data1 == two.data1)
return one.data2 > two.data2;
else
return one.data1 < two.data1;
}
}compare;
int main() {
map<map_data, int, decltype(compare)> the_map;
}
I2luY2x1ZGUgPG1hcD4KCnVzaW5nIHN0ZDo6bWFwOwoKc3RydWN0IG1hcF9kYXRhewogICBpbnQgZGF0YTE7CiAgIGludCBkYXRhMjsKfTsKCnN0cnVjdAp7CiAgIGJvb2wgb3BlcmF0b3IoKShtYXBfZGF0YSBvbmUsIG1hcF9kYXRhIHR3bykgY29uc3QKICAgewogICAgICBpZihvbmUuZGF0YTEgPT0gdHdvLmRhdGExKQogICAgICAgICByZXR1cm4gb25lLmRhdGEyID4gdHdvLmRhdGEyOwogICAgICBlbHNlCiAgICAgICAgIHJldHVybiBvbmUuZGF0YTEgPCB0d28uZGF0YTE7CiAgIH0KfWNvbXBhcmU7CgppbnQgbWFpbigpIHsKICAgIG1hcDxtYXBfZGF0YSwgaW50LCBkZWNsdHlwZShjb21wYXJlKT4gdGhlX21hcDsKfQ==