#include <random>
#include <iostream>
using std::cout;
int main() {
static const size_t distance = 5;
std::mt19937 rng;
rng.seed(0);
rng.discard(distance);
std::cout << "after discard 5: " << rng() << '\n';
rng.seed(0);
for (size_t i = 0; i <= distance; ++i) {
std::cout << i << ": " << rng() << '\n';
}
}
ICAgICNpbmNsdWRlIDxyYW5kb20+CiAgICAjaW5jbHVkZSA8aW9zdHJlYW0+CiAgICB1c2luZyBzdGQ6OmNvdXQ7CgogICAgaW50IG1haW4oKSB7CiAgICAJc3RhdGljIGNvbnN0IHNpemVfdCBkaXN0YW5jZSA9IDU7CiAgICAgICAgc3RkOjptdDE5OTM3IHJuZzsKICAgICAgICBybmcuc2VlZCgwKTsKICAgICAgICBybmcuZGlzY2FyZChkaXN0YW5jZSk7CiAgICAgICAgc3RkOjpjb3V0IDw8ICJhZnRlciBkaXNjYXJkIDU6ICIgPDwgcm5nKCkgPDwgJ1xuJzsKICAgICAgICAKICAgICAgICBybmcuc2VlZCgwKTsKICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8PSBkaXN0YW5jZTsgKytpKSB7CiAgICAgICAgCXN0ZDo6Y291dCA8PCBpIDw8ICI6ICIgPDwgcm5nKCkgPDwgJ1xuJzsKICAgICAgICB9CiAgICB9Cgo=