#include <iostream>
#include <unordered_map>
#include <vector>
#include <tuple>
#include <cstdint>
typedef std::tuple<std::uint32_t, std::uint32_t> Pair;
typedef std::vector<Pair> Data;
typedef std::unordered_map<std::uint_fast64_t, Data> Hash;
int main() {
Hash H;
std::size_t L = 21073;
//std::size_t L = (1ull<<15)-1;
for (std::uint_fast32_t i = 1; i < L; i++) {
for (std::uint_fast32_t j = 1; j < L; j++) {
std::uint_fast64_t Idx = (i * i * i) - (j * j * j);
H[Idx].push_back({ i,j });
}
}
return true;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHR1cGxlPgojaW5jbHVkZSA8Y3N0ZGludD4KCnR5cGVkZWYgc3RkOjp0dXBsZTxzdGQ6OnVpbnQzMl90LCBzdGQ6OnVpbnQzMl90PiBQYWlyOwp0eXBlZGVmIHN0ZDo6dmVjdG9yPFBhaXI+IERhdGE7CnR5cGVkZWYgc3RkOjp1bm9yZGVyZWRfbWFwPHN0ZDo6dWludF9mYXN0NjRfdCwgRGF0YT4gSGFzaDsKCmludCBtYWluKCkgewoKCUhhc2ggSDsKCXN0ZDo6c2l6ZV90IEwgPSAyMTA3MzsKCS8vc3RkOjpzaXplX3QgTCA9ICgxdWxsPDwxNSktMTsKCWZvciAoc3RkOjp1aW50X2Zhc3QzMl90IGkgPSAxOyBpIDwgTDsgaSsrKSB7CgkJZm9yIChzdGQ6OnVpbnRfZmFzdDMyX3QgaiA9IDE7IGogPCBMOyBqKyspIHsKCQkJc3RkOjp1aW50X2Zhc3Q2NF90IElkeCA9IChpICogaSAqIGkpIC0gKGogKiBqICogaik7CgkJCUhbSWR4XS5wdXNoX2JhY2soeyBpLGogfSk7CgkJfQoJfQoKCXJldHVybiB0cnVlOwoJCn0=