#include <map>
using std::map;
struct map_data {
int data1;
int data2;
};
struct map_data_comparator
{
bool operator()(const map_data& one, const map_data& two) const
{
if (one.data1 == two.data1)
return one.data2 > two.data2;
else
return one.data1 < two.data1;
}
};
int main()
{
map<map_data, int, map_data_comparator> the_map;
}
I2luY2x1ZGUgPG1hcD4KCnVzaW5nIHN0ZDo6bWFwOwoKc3RydWN0IG1hcF9kYXRhIHsKICAgaW50IGRhdGExOwogICBpbnQgZGF0YTI7Cn07CgpzdHJ1Y3QgbWFwX2RhdGFfY29tcGFyYXRvcgp7CiAgIGJvb2wgb3BlcmF0b3IoKShjb25zdCBtYXBfZGF0YSYgb25lLCBjb25zdCBtYXBfZGF0YSYgdHdvKSBjb25zdAogICB7CiAgICAgIGlmIChvbmUuZGF0YTEgPT0gdHdvLmRhdGExKQogICAgICAgICByZXR1cm4gb25lLmRhdGEyID4gdHdvLmRhdGEyOwogICAgICBlbHNlCiAgICAgICAgIHJldHVybiBvbmUuZGF0YTEgPCB0d28uZGF0YTE7CiAgIH0KfTsKCmludCBtYWluKCkKewogICAgbWFwPG1hcF9kYXRhLCBpbnQsIG1hcF9kYXRhX2NvbXBhcmF0b3I+IHRoZV9tYXA7Cn0=