#include <utility>
#include <unordered_map>
struct hash_pair {
template <typename T, typename U>
std::size_t operator ()(std::pair<T, U> const& p) const {
using std::hash;
return hash<T>()(p.first) ^ hash<T>()(p.second);
}
};
std::unordered_map<std::pair<int, int>, int, hash_pair> predictor;
int main() {}
I2luY2x1ZGUgPHV0aWxpdHk+CiNpbmNsdWRlIDx1bm9yZGVyZWRfbWFwPgoKc3RydWN0IGhhc2hfcGFpciB7CiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4KICAgIHN0ZDo6c2l6ZV90IG9wZXJhdG9yICgpKHN0ZDo6cGFpcjxULCBVPiBjb25zdCYgcCkgY29uc3QgewogICAgICAgIHVzaW5nIHN0ZDo6aGFzaDsKICAgICAgICByZXR1cm4gaGFzaDxUPigpKHAuZmlyc3QpIF4gaGFzaDxUPigpKHAuc2Vjb25kKTsKICAgIH0KfTsKCnN0ZDo6dW5vcmRlcmVkX21hcDxzdGQ6OnBhaXI8aW50LCBpbnQ+LCBpbnQsIGhhc2hfcGFpcj4gcHJlZGljdG9yOwoKaW50IG1haW4oKSB7fQ==