#include <algorithm>
#include <ctime>
#include <cstdlib>
struct S {
S(int i = 0, int j = 0) {
arr[0] = i;
arr[1] = j;
}
int arr[2];
int & operator[](int i){
return arr[i];
}
const int & operator[](int i) const {
return arr[i];
}
};
int main(){
srand(time(0U));
S arr[10];
for(int i = 0; i < 10; i++){
arr[i] = S(rand(), rand());
}
std::sort(arr, arr + 10, [] (const S &a, const S &b){
if(a[0] != b[0]) return a[0] < a[1];
return a[1] < b[1];
});
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGN0aW1lPgojaW5jbHVkZSA8Y3N0ZGxpYj4KIApzdHJ1Y3QgUyB7CiAgICBTKGludCBpID0gMCwgaW50IGogPSAwKSB7CiAgICAgICAgYXJyWzBdID0gaTsKICAgICAgICBhcnJbMV0gPSBqOwogICAgfQogICAgaW50IGFyclsyXTsKICAgIGludCAmIG9wZXJhdG9yW10oaW50IGkpewogICAgICAgIHJldHVybiBhcnJbaV07CiAgICB9CiAgICBjb25zdCBpbnQgJiBvcGVyYXRvcltdKGludCBpKSBjb25zdCB7CiAgICAgICAgcmV0dXJuIGFycltpXTsKICAgIH0KfTsKIAppbnQgbWFpbigpewogICAgc3JhbmQodGltZSgwVSkpOwogICAgUyBhcnJbMTBdOwogICAgZm9yKGludCBpID0gMDsgaSA8IDEwOyBpKyspewogICAgICAgIGFycltpXSA9IFMocmFuZCgpLCByYW5kKCkpOwogICAgfQogICAgc3RkOjpzb3J0KGFyciwgYXJyICsgMTAsIFtdIChjb25zdCBTICZhLCBjb25zdCBTICZiKXsKICAgICAgICBpZihhWzBdICE9IGJbMF0pIHJldHVybiBhWzBdIDwgYVsxXTsKICAgICAgICByZXR1cm4gYVsxXSA8IGJbMV07CiAgICB9KTsKfQ==