# test https://stackoverflow.com/questions/480960/code-to-calculate-median-of-five-in-c-sharp
from itertools import product
def median3(a, b, c):
return max(min(a,b), min(max(a,b),c))
# from https://stackoverflow.com/a/6984153/4279
def median5(a,b,c,d,e):
f = max(min(a,b),min(c,d)) # discards lowest from first 4
g = min(max(a,b),max(c,d)) # discards biggest from first 4
return median3(e,f,g);
input_sequence = "abcde"
for args in product(input_sequence, repeat=len(input_sequence)):
if median5(*args) != sorted(args)[len(args)//2]:
raise AssertionError(args)
IyB0ZXN0IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzQ4MDk2MC9jb2RlLXRvLWNhbGN1bGF0ZS1tZWRpYW4tb2YtZml2ZS1pbi1jLXNoYXJwCmZyb20gaXRlcnRvb2xzIGltcG9ydCBwcm9kdWN0CgpkZWYgbWVkaWFuMyhhLCBiLCBjKToKICAgIHJldHVybiBtYXgobWluKGEsYiksIG1pbihtYXgoYSxiKSxjKSkKCiMgZnJvbSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNjk4NDE1My80Mjc5CmRlZiBtZWRpYW41KGEsYixjLGQsZSk6CiAgICAgIGYgPSBtYXgobWluKGEsYiksbWluKGMsZCkpICMgZGlzY2FyZHMgbG93ZXN0IGZyb20gZmlyc3QgNAogICAgICBnID0gbWluKG1heChhLGIpLG1heChjLGQpKSAjIGRpc2NhcmRzIGJpZ2dlc3QgZnJvbSBmaXJzdCA0CiAgICAgIHJldHVybiBtZWRpYW4zKGUsZixnKTsKCmlucHV0X3NlcXVlbmNlID0gImFiY2RlIgpmb3IgYXJncyBpbiBwcm9kdWN0KGlucHV0X3NlcXVlbmNlLCByZXBlYXQ9bGVuKGlucHV0X3NlcXVlbmNlKSk6CiAgICBpZiAgbWVkaWFuNSgqYXJncykgIT0gc29ydGVkKGFyZ3MpW2xlbihhcmdzKS8vMl06CiAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoYXJncyk=