#include <random>
#include <iostream>
typedef std::mt19937 random_eng;
//typedef std::minstd_rand random_eng;
int f(int x) {
std::seed_seq sq(&x, &x + 1);
auto rnd = random_eng(sq);
return std::uniform_int_distribution<int>()(rnd);
}
int g(int x) {
std::seed_seq sq(&x, &x + 1);
auto rnd = random_eng();
rnd.seed(sq);
return std::uniform_int_distribution<int>()(rnd);
}
int main() {
std::cout << f(0) << " " << f(0) << std::endl;
std::cout << g(0) << " " << g(0) << std::endl;
return 0;
}
I2luY2x1ZGUgPHJhbmRvbT4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKdHlwZWRlZiBzdGQ6Om10MTk5MzcgcmFuZG9tX2VuZzsKLy90eXBlZGVmIHN0ZDo6bWluc3RkX3JhbmQgcmFuZG9tX2VuZzsKCmludCBmKGludCB4KSB7CiAgICBzdGQ6OnNlZWRfc2VxIHNxKCZ4LCAmeCArIDEpOwogICAgYXV0byBybmQgPSByYW5kb21fZW5nKHNxKTsKICAgIHJldHVybiBzdGQ6OnVuaWZvcm1faW50X2Rpc3RyaWJ1dGlvbjxpbnQ+KCkocm5kKTsKfQoKaW50IGcoaW50IHgpIHsKICAgIHN0ZDo6c2VlZF9zZXEgc3EoJngsICZ4ICsgMSk7CiAgICBhdXRvIHJuZCA9IHJhbmRvbV9lbmcoKTsKICAgIHJuZC5zZWVkKHNxKTsKICAgIHJldHVybiBzdGQ6OnVuaWZvcm1faW50X2Rpc3RyaWJ1dGlvbjxpbnQ+KCkocm5kKTsKfQoKaW50IG1haW4oKSB7CiAgICBzdGQ6OmNvdXQgPDwgZigwKSA8PCAiICIgPDwgZigwKSA8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmNvdXQgPDwgZygwKSA8PCAiICIgPDwgZygwKSA8PCBzdGQ6OmVuZGw7CgogICAgcmV0dXJuIDA7Cn0=