#!/usr/bin/env python3
import sys
def exit():
input('Press <Enter> to exit')
sys.exit()
def expect_digits():
options = {'4': exit}
for d in '123':
options[d] = lambda d=d: print(d)
expect(options)
def expect(options):
while True:
answer = input('Input ' + '|'.join(options)).strip()
if answer in options:
options[answer]()
else:
print('Unknown command. Try again')
expect({'y': expect_digits, 'n': exit})
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwppbXBvcnQgc3lzCgoKZGVmIGV4aXQoKToKICAgIGlucHV0KCdQcmVzcyA8RW50ZXI+IHRvIGV4aXQnKQogICAgc3lzLmV4aXQoKQoKCmRlZiBleHBlY3RfZGlnaXRzKCk6CiAgICBvcHRpb25zID0geyc0JzogZXhpdH0KICAgIGZvciBkIGluICcxMjMnOgogICAgICAgIG9wdGlvbnNbZF0gPSBsYW1iZGEgZD1kOiBwcmludChkKQogICAgZXhwZWN0KG9wdGlvbnMpCgoKZGVmIGV4cGVjdChvcHRpb25zKToKICAgIHdoaWxlIFRydWU6CiAgICAgICAgYW5zd2VyID0gaW5wdXQoJ0lucHV0ICcgKyAnfCcuam9pbihvcHRpb25zKSkuc3RyaXAoKQogICAgICAgIGlmIGFuc3dlciBpbiBvcHRpb25zOgogICAgICAgICAgICBvcHRpb25zW2Fuc3dlcl0oKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHByaW50KCdVbmtub3duIGNvbW1hbmQuIFRyeSBhZ2FpbicpCgoKZXhwZWN0KHsneSc6IGV4cGVjdF9kaWdpdHMsICduJzogZXhpdH0p