def substitution_cipher(msg: str, key: str) -> str:
for i in range(0, len(msg)):
if msg[i].isalpha():
index = ord(msg[i]) - ord('A')
msg = msg[:i] + key[index] + msg[i + 1:]
return msg
print(substitution_cipher('IN A HOLE IN THE GROUND THERE LIVED A HOBBIT.', 'ABCDIFGHEJKLMNUPQRSTOVWXYZ'))
# your code goes here
ZGVmIHN1YnN0aXR1dGlvbl9jaXBoZXIobXNnOiBzdHIsIGtleTogc3RyKSAtPiBzdHI6CiAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4obXNnKSk6CiAgICAgICAgaWYgbXNnW2ldLmlzYWxwaGEoKToKICAgICAgICAgICAgaW5kZXggPSBvcmQobXNnW2ldKSAtIG9yZCgnQScpCiAgICAgICAgICAgIG1zZyA9IG1zZ1s6aV0gKyBrZXlbaW5kZXhdICsgbXNnW2kgKyAxOl0KICAgIHJldHVybiBtc2cKcHJpbnQoc3Vic3RpdHV0aW9uX2NpcGhlcignSU4gQSBIT0xFIElOIFRIRSBHUk9VTkQgVEhFUkUgTElWRUQgQSBIT0JCSVQuJywgJ0FCQ0RJRkdIRUpLTE1OVVBRUlNUT1ZXWFlaJykpCiMgeW91ciBjb2RlIGdvZXMgaGVyZQ==