import random
import platform
assert platform.python_version()[0:3] == "3.7", "Python version 3.7 must be used."
# The number of selections
NUM_SELECTED = 15
# Entry numbers that passed the screening process (example is shown)
ENTRIES = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 28, 29, 31, 33]
assert NUM_SELECTED < len(ENTRIES), "Selection must happen"
# Block hashes from certain block heights that were previously announced:
# Below is the example by block heights 629530-629534.
hashes = [
0x00000000000000000006F349AA480F67A2B603496DA07FD0F566680293B2D3E4,
0x0000000000000000000E4BF1CA971D88B29D31B84751AE6BDF8F2F5F25E5D99E,
0x00000000000000000003A91B8D6D37940269AE8DE9219176DCD6BA448CE0AC75,
0x0000000000000000000137A2AC232E19D2163A4A28B2F1F49CCD35052579451E,
0x00000000000000000008A17371C0F62112227C28B83DD88C5218CAD648484E7F,
]
seed = sum(hashes)
random.seed(seed)
print("Entries:", ENTRIES, "(%d in total)" % len(ENTRIES))
print("Random seed: %d" % seed)
print()
number_order = sorted(random.sample(ENTRIES, len(ENTRIES))[0:NUM_SELECTED])
print("Result")
print("Selected entries:", number_order)
aW1wb3J0IHJhbmRvbQppbXBvcnQgcGxhdGZvcm0KCmFzc2VydCBwbGF0Zm9ybS5weXRob25fdmVyc2lvbigpWzA6M10gPT0gIjMuNyIsICJQeXRob24gdmVyc2lvbiAzLjcgbXVzdCBiZSB1c2VkLiIKCiMgVGhlIG51bWJlciBvZiBzZWxlY3Rpb25zCk5VTV9TRUxFQ1RFRCA9IDE1CiMgRW50cnkgbnVtYmVycyB0aGF0IHBhc3NlZCB0aGUgc2NyZWVuaW5nIHByb2Nlc3MgKGV4YW1wbGUgaXMgc2hvd24pCkVOVFJJRVMgPSBbMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMywgMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMywgMjUsIDI4LCAyOSwgMzEsIDMzXQphc3NlcnQgTlVNX1NFTEVDVEVEIDwgbGVuKEVOVFJJRVMpLCAiU2VsZWN0aW9uIG11c3QgaGFwcGVuIgoKIyBCbG9jayBoYXNoZXMgZnJvbSBjZXJ0YWluIGJsb2NrIGhlaWdodHMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgYW5ub3VuY2VkOgojIEJlbG93IGlzIHRoZSBleGFtcGxlIGJ5IGJsb2NrIGhlaWdodHMgNjI5NTMwLTYyOTUzNC4KaGFzaGVzID0gWwogICAgMHgwMDAwMDAwMDAwMDAwMDAwMDAwNkYzNDlBQTQ4MEY2N0EyQjYwMzQ5NkRBMDdGRDBGNTY2NjgwMjkzQjJEM0U0LAogICAgMHgwMDAwMDAwMDAwMDAwMDAwMDAwRTRCRjFDQTk3MUQ4OEIyOUQzMUI4NDc1MUFFNkJERjhGMkY1RjI1RTVEOTlFLAogICAgMHgwMDAwMDAwMDAwMDAwMDAwMDAwM0E5MUI4RDZEMzc5NDAyNjlBRThERTkyMTkxNzZEQ0Q2QkE0NDhDRTBBQzc1LAogICAgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMTM3QTJBQzIzMkUxOUQyMTYzQTRBMjhCMkYxRjQ5Q0NEMzUwNTI1Nzk0NTFFLAogICAgMHgwMDAwMDAwMDAwMDAwMDAwMDAwOEExNzM3MUMwRjYyMTEyMjI3QzI4QjgzREQ4OEM1MjE4Q0FENjQ4NDg0RTdGLApdCgpzZWVkID0gc3VtKGhhc2hlcykKcmFuZG9tLnNlZWQoc2VlZCkKcHJpbnQoIkVudHJpZXM6IiwgRU5UUklFUywgIiglZCBpbiB0b3RhbCkiICUgbGVuKEVOVFJJRVMpKQpwcmludCgiUmFuZG9tIHNlZWQ6ICVkIiAlIHNlZWQpCnByaW50KCkKCm51bWJlcl9vcmRlciA9IHNvcnRlZChyYW5kb20uc2FtcGxlKEVOVFJJRVMsIGxlbihFTlRSSUVTKSlbMDpOVU1fU0VMRUNURURdKQoKcHJpbnQoIlJlc3VsdCIpCnByaW50KCJTZWxlY3RlZCBlbnRyaWVzOiIsIG51bWJlcl9vcmRlcikK
Entries: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 28, 29, 31, 33] (26 in total)
Random seed: 3328922384685780924223003444097241387041554684534517140
Result
Selected entries: [1, 2, 3, 5, 7, 8, 9, 10, 11, 16, 17, 18, 21, 23, 25]