bool first_goes_to_left_of( int first, int second) {
if ( first % 2 == 0 ) { //if first is even
if ( second % 2 == 0 ) //and second is even
return first < second; //sort by increasing order
else //and second is odd
return true ; //first goes to left
} else { //if first is odd
if ( second % 2 == 0 ) //and second is even
return false ; //second goes to left
else //and second is odd
return second < first; //sort by decreasing order
}
}
Ym9vbCBmaXJzdF9nb2VzX3RvX2xlZnRfb2YoaW50IGZpcnN0LCBpbnQgc2Vjb25kKSB7CiAgICBpZiAoZmlyc3QgJTIgPT0gMCkgeyAvL2lmIGZpcnN0IGlzIGV2ZW4KICAgICAgICBpZiAoc2Vjb25kICUyID09IDApIC8vYW5kIHNlY29uZCBpcyBldmVuCiAgICAgICAgICAgIHJldHVybiBmaXJzdCA8IHNlY29uZDsgLy9zb3J0IGJ5IGluY3JlYXNpbmcgb3JkZXIKICAgICAgICBlbHNlICAvL2FuZCBzZWNvbmQgaXMgb2RkCiAgICAgICAgICAgIHJldHVybiB0cnVlOyAvL2ZpcnN0IGdvZXMgdG8gbGVmdAogICAgfSBlbHNlIHsgLy9pZiBmaXJzdCBpcyBvZGQKICAgICAgICBpZiAoc2Vjb25kICUyID09IDApIC8vYW5kIHNlY29uZCBpcyBldmVuCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy9zZWNvbmQgZ29lcyB0byBsZWZ0CiAgICAgICAgZWxzZSAgLy9hbmQgc2Vjb25kIGlzIG9kZAogICAgICAgICAgICByZXR1cm4gc2Vjb25kIDwgZmlyc3Q7IC8vc29ydCBieSBkZWNyZWFzaW5nIG9yZGVyCiAgICB9Cn0=