def decipher(ciphertext: str, known_word: str) -> str:
"""
Decrypts Caesar cipher by testing all possible shifts.
Returns first decryption containing the exact known_word or 'levalid' if not found.
Args:
ciphertext: Encrypted text to decode
known_word: Exact word expected in plaintext (case-sensitive)
Returns:
Decrypted text or 'levalid' if no valid decryption found
"""
def shift_char(c: str, shift: int) -> str:
"""Shift character backward in alphabet by given positions"""
if c.islower():
return chr((ord(c) - ord('a') - shift) % 26 + ord('a'))
if c.isupper():
return chr((ord(c) - ord('A') - shift) % 26 + ord('A'))
return c # Non-alphabetic unchanged
# Test all possible shifts (0-25)
for shift in range(26):
decrypted = ''.join(shift_char(c, shift) for c in ciphertext)
if known_word in decrypted.split(): # Check as whole word
return decrypted
return "levalid"
if __name__ == "__main__":
try:
ciphertext = input().strip()
known_word = input().strip()
print(decipher(ciphertext, known_word))
except EOFError:
print("levalid")
ZGVmIGRlY2lwaGVyKGNpcGhlcnRleHQ6IHN0ciwga25vd25fd29yZDogc3RyKSAtPiBzdHI6CiAgICAiIiIKICAgIERlY3J5cHRzIENhZXNhciBjaXBoZXIgYnkgdGVzdGluZyBhbGwgcG9zc2libGUgc2hpZnRzLgogICAgUmV0dXJucyBmaXJzdCBkZWNyeXB0aW9uIGNvbnRhaW5pbmcgdGhlIGV4YWN0IGtub3duX3dvcmQgb3IgJ2xldmFsaWQnIGlmIG5vdCBmb3VuZC4KCiAgICBBcmdzOgogICAgICAgIGNpcGhlcnRleHQ6IEVuY3J5cHRlZCB0ZXh0IHRvIGRlY29kZQogICAgICAgIGtub3duX3dvcmQ6IEV4YWN0IHdvcmQgZXhwZWN0ZWQgaW4gcGxhaW50ZXh0IChjYXNlLXNlbnNpdGl2ZSkKCiAgICBSZXR1cm5zOgogICAgICAgIERlY3J5cHRlZCB0ZXh0IG9yICdsZXZhbGlkJyBpZiBubyB2YWxpZCBkZWNyeXB0aW9uIGZvdW5kCiAgICAiIiIKCiAgICBkZWYgc2hpZnRfY2hhcihjOiBzdHIsIHNoaWZ0OiBpbnQpIC0+IHN0cjoKICAgICAgICAiIiJTaGlmdCBjaGFyYWN0ZXIgYmFja3dhcmQgaW4gYWxwaGFiZXQgYnkgZ2l2ZW4gcG9zaXRpb25zIiIiCiAgICAgICAgaWYgYy5pc2xvd2VyKCk6CiAgICAgICAgICAgIHJldHVybiBjaHIoKG9yZChjKSAtIG9yZCgnYScpIC0gc2hpZnQpICUgMjYgKyBvcmQoJ2EnKSkKICAgICAgICBpZiBjLmlzdXBwZXIoKToKICAgICAgICAgICAgcmV0dXJuIGNocigob3JkKGMpIC0gb3JkKCdBJykgLSBzaGlmdCkgJSAyNiArIG9yZCgnQScpKQogICAgICAgIHJldHVybiBjICAjIE5vbi1hbHBoYWJldGljIHVuY2hhbmdlZAoKICAgICMgVGVzdCBhbGwgcG9zc2libGUgc2hpZnRzICgwLTI1KQogICAgZm9yIHNoaWZ0IGluIHJhbmdlKDI2KToKICAgICAgICBkZWNyeXB0ZWQgPSAnJy5qb2luKHNoaWZ0X2NoYXIoYywgc2hpZnQpIGZvciBjIGluIGNpcGhlcnRleHQpCiAgICAgICAgaWYga25vd25fd29yZCBpbiBkZWNyeXB0ZWQuc3BsaXQoKTogICMgQ2hlY2sgYXMgd2hvbGUgd29yZAogICAgICAgICAgICByZXR1cm4gZGVjcnlwdGVkCgogICAgcmV0dXJuICJsZXZhbGlkIgoKCmlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICB0cnk6CiAgICAgICAgY2lwaGVydGV4dCA9IGlucHV0KCkuc3RyaXAoKQogICAgICAgIGtub3duX3dvcmQgPSBpbnB1dCgpLnN0cmlwKCkKICAgICAgICBwcmludChkZWNpcGhlcihjaXBoZXJ0ZXh0LCBrbm93bl93b3JkKSkKICAgIGV4Y2VwdCBFT0ZFcnJvcjoKICAgICAgICBwcmludCgibGV2YWxpZCIp