#include <cstdint>
#include <map>
#include <unordered_map>
#include <ctime>
#include <iostream>
union p_t {
p_t(int64_t c) : k(c) {}
p_t(int32_t a, int32_t b) : x(a), y(b) {}
int64_t k;
struct { int32_t x, y; };
};
int main() {
srand(time(0));
std::map<decltype(p_t::k), int> m1;
std::unordered_map<decltype(p_t::k), int> m2;
p_t p = p_t(rand(), rand());
m1[p.k] = rand();
m2[p.k] = rand();
p_t k1 = m1.begin()->first;
int v1 = m1.begin()->second;
std::cout << k1.x << " " << k1.y << " " << v1 << " : " << k1.k << std::endl;
p_t k2 = m2.begin()->first;
int v2 = m2.begin()->second;
std::cout << k2.x << " " << k2.y << " " << v2 << " : " << k2.k << std::endl;
}
I2luY2x1ZGUgPGNzdGRpbnQ+CiNpbmNsdWRlIDxtYXA+CiNpbmNsdWRlIDx1bm9yZGVyZWRfbWFwPgojaW5jbHVkZSA8Y3RpbWU+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCnVuaW9uIHBfdCB7CiAgICBwX3QoaW50NjRfdCBjKSA6IGsoYykge30KICAgIHBfdChpbnQzMl90IGEsIGludDMyX3QgYikgOiB4KGEpLCB5KGIpIHt9CiAgICBpbnQ2NF90IGs7CiAgICBzdHJ1Y3QgeyBpbnQzMl90IHgsIHk7IH07Cn07CgppbnQgbWFpbigpIHsKICAgIHNyYW5kKHRpbWUoMCkpOwogICAgc3RkOjptYXA8ZGVjbHR5cGUocF90OjprKSwgaW50PiBtMTsKICAgIHN0ZDo6dW5vcmRlcmVkX21hcDxkZWNsdHlwZShwX3Q6OmspLCBpbnQ+IG0yOwoKICAgIHBfdCBwID0gcF90KHJhbmQoKSwgcmFuZCgpKTsKCiAgICBtMVtwLmtdID0gcmFuZCgpOwogICAgbTJbcC5rXSA9IHJhbmQoKTsKCiAgICBwX3QgazEgPSBtMS5iZWdpbigpLT5maXJzdDsKICAgIGludCB2MSA9IG0xLmJlZ2luKCktPnNlY29uZDsKICAgIHN0ZDo6Y291dCA8PCBrMS54IDw8ICIgIiA8PCBrMS55IDw8ICIgIiA8PCB2MSA8PCAiIDogIiA8PCBrMS5rIDw8IHN0ZDo6ZW5kbDsKCiAgICBwX3QgazIgPSBtMi5iZWdpbigpLT5maXJzdDsKICAgIGludCB2MiA9IG0yLmJlZ2luKCktPnNlY29uZDsKICAgIHN0ZDo6Y291dCA8PCBrMi54IDw8ICIgIiA8PCBrMi55IDw8ICIgIiA8PCB2MiA8PCAiIDogIiA8PCBrMi5rIDw8IHN0ZDo6ZW5kbDsKfQ==