using System;
class Program
{
static void Main(string[] args)
{
// repeat experiment with different master RNGs
for (int iMaster = 0; iMaster < 30; ++iMaster)
{
// create master RNG
var rngMaster = new Random(iMaster + OFFSET);
// obtain seed from master RNG
var seed = rngMaster.Next();
// create main RNG from seed
var rngMain = new Random(seed);
// print 3rd number generated by main RNG
var ignore0 = rngMain.Next(LIMIT);
var ignore1 = rngMain.Next(LIMIT);
var randomNumber = rngMain.Next(LIMIT);
Console.WriteLine(randomNumber);
}
}
const int OFFSET = 0;
const int LIMIT = 200;
}
dXNpbmcgU3lzdGVtOwoKY2xhc3MgUHJvZ3JhbQp7CiAgICBzdGF0aWMgdm9pZCBNYWluKHN0cmluZ1tdIGFyZ3MpCiAgICB7CiAgICAgICAgICAgIC8vIHJlcGVhdCBleHBlcmltZW50IHdpdGggZGlmZmVyZW50IG1hc3RlciBSTkdzCiAgICAgICAgZm9yIChpbnQgaU1hc3RlciA9IDA7IGlNYXN0ZXIgPCAzMDsgKytpTWFzdGVyKQogICAgICAgIHsKICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSBtYXN0ZXIgUk5HCiAgICAgICAgICAgIHZhciBybmdNYXN0ZXIgPSBuZXcgUmFuZG9tKGlNYXN0ZXIgKyBPRkZTRVQpOwoKICAgICAgICAgICAgICAgIC8vIG9idGFpbiBzZWVkIGZyb20gbWFzdGVyIFJORwogICAgICAgICAgICB2YXIgc2VlZCA9IHJuZ01hc3Rlci5OZXh0KCk7CgogICAgICAgICAgICAgICAgLy8gY3JlYXRlIG1haW4gUk5HIGZyb20gc2VlZAogICAgICAgICAgICB2YXIgcm5nTWFpbiA9IG5ldyBSYW5kb20oc2VlZCk7CgogICAgICAgICAgICAgICAgLy8gcHJpbnQgM3JkIG51bWJlciBnZW5lcmF0ZWQgYnkgbWFpbiBSTkcKICAgICAgICAgICAgdmFyIGlnbm9yZTAgPSBybmdNYWluLk5leHQoTElNSVQpOwogICAgICAgICAgICB2YXIgaWdub3JlMSA9IHJuZ01haW4uTmV4dChMSU1JVCk7CiAgICAgICAgICAgIHZhciByYW5kb21OdW1iZXIgPSBybmdNYWluLk5leHQoTElNSVQpOwogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShyYW5kb21OdW1iZXIpOwogICAgICAgIH0KICAgIH0KCiAgICBjb25zdCBpbnQgT0ZGU0VUID0gMDsKICAgIGNvbnN0IGludCBMSU1JVCA9IDIwMDsKfQ==