#include <iostream>
#include <random>
#define N 75
#define TRIALS 1000000
int main() {
int counter[2*N];
for (int i = 0; i < 2*N; ++i)
counter[i] = 0;
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis;
int count = 0;
const int A = 52;
for (int trial = 0; trial < TRIALS; ++trial) {
int whites = 0;
dis = std::uniform_int_distribution<> (0, N);
for (int i = 0; i < N; ++i) {
whites++;
if (dis(gen) < whites) {
--whites;
++counter[i];
//++count;
}
}
/*for (int i = A; i < N+A; ++i) {
dis = std::uniform_int_distribution<> (0, 2*N-i-1);
if (dis(gen) < whites) {
--whites;
++counter[i];
}
}*/
count += whites;
}
/*for (int i = 0; i < 2*N; ++i)
std::cout << i << ' ' << (double)counter[i] / TRIALS << '\n';*/
std::cout << (double)count / TRIALS / N << '\n';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmFuZG9tPgojZGVmaW5lIE4gNzUKI2RlZmluZSBUUklBTFMgMTAwMDAwMAoKaW50IG1haW4oKSB7CglpbnQgY291bnRlclsyKk5dOwoJZm9yIChpbnQgaSA9IDA7IGkgPCAyKk47ICsraSkKCQljb3VudGVyW2ldID0gMDsKCXN0ZDo6cmFuZG9tX2RldmljZSByZDsKCXN0ZDo6bXQxOTkzNyBnZW4ocmQoKSk7CglzdGQ6OnVuaWZvcm1faW50X2Rpc3RyaWJ1dGlvbjw+IGRpczsKCWludCBjb3VudCA9IDA7Cgljb25zdCBpbnQgQSA9IDUyOwoJZm9yIChpbnQgdHJpYWwgPSAwOyB0cmlhbCA8IFRSSUFMUzsgKyt0cmlhbCkgewoJCWludCB3aGl0ZXMgPSAwOwoJCWRpcyA9IHN0ZDo6dW5pZm9ybV9pbnRfZGlzdHJpYnV0aW9uPD4gKDAsIE4pOwoJCWZvciAoaW50IGkgPSAwOyBpIDwgTjsgKytpKSB7CgkJCXdoaXRlcysrOwoJCQlpZiAoZGlzKGdlbikgPCB3aGl0ZXMpIHsKCQkJCS0td2hpdGVzOwoJCQkJKytjb3VudGVyW2ldOwoJCQkJLy8rK2NvdW50OwoJCQl9CgkJfQoJCS8qZm9yIChpbnQgaSA9IEE7IGkgPCBOK0E7ICsraSkgewoJCQlkaXMgPSBzdGQ6OnVuaWZvcm1faW50X2Rpc3RyaWJ1dGlvbjw+ICgwLCAyKk4taS0xKTsKCQkJaWYgKGRpcyhnZW4pIDwgd2hpdGVzKSB7CgkJCQktLXdoaXRlczsKCQkJCSsrY291bnRlcltpXTsKCQkJfQoJCX0qLwoJCWNvdW50ICs9IHdoaXRlczsKCX0KCS8qZm9yIChpbnQgaSA9IDA7IGkgPCAyKk47ICsraSkKCQlzdGQ6OmNvdXQgPDwgaSA8PCAnICcgPDwgKGRvdWJsZSljb3VudGVyW2ldIC8gVFJJQUxTIDw8ICdcbic7Ki8KCXN0ZDo6Y291dCA8PCAoZG91YmxlKWNvdW50IC8gVFJJQUxTIC8gTiA8PCAnXG4nOwoJcmV0dXJuIDA7Cn0=