def convert(x, v):
characters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
numbers = range(27)
numbers.remove(0)
y = 0
if v == "number":
while y < 26:
if characters[y] == x.lower():
return numbers[y]
y += 1
elif v == "letter":
while y < 26:
if numbers[y] == x:
return characters[y].upper()
y += 1
def function(x):
if x in range(convert("A", "number"), convert("E", "number") + 1):
y = 2 * x
elif x in range(convert("F", "number"), convert("J", "number") + 1):
y = 5 * (x % 3)
elif x in range(convert("K", "number"), convert("O", "number") + 1):
y = 8 * (x / 4)
elif x in range(convert("P", "number"), convert("T", "number") + 1):
place = str(x)
a = 0
b = 0
while b < len(place):
a += int(place[b])
b += 1
y = 10 * a
elif x in range(convert("U", "number"), convert("Z", "number") + 1):
a = 2
while a < x:
if x % a == 0:
b = a
a += 1
y = 12 * b
y = y % 26
if y == 0:
y = 26
return convert(y, "letter")
def main():
inputs = []
outputs = []
a = 0
while a < 5:
inputs.append(raw_input())
outputs.append(function(convert(inputs[a], "number")))
a += 1
a = 0
while a < 5:
print outputs[a]
a += 1
main()
ZGVmIGNvbnZlcnQoeCwgdik6CiAgICBjaGFyYWN0ZXJzID0gWyJhIiwgImIiLCAiYyIsICJkIiwgImUiLCAiZiIsICJnIiwgImgiLCAiaSIsICJqIiwgImsiLCAibCIsICJtIiwgIm4iLCAibyIsICJwIiwgInEiLCAiciIsICJzIiwgInQiLCAidSIsICJ2IiwgInciLCAieCIsICJ5IiwgInoiXQogICAgbnVtYmVycyA9IHJhbmdlKDI3KQogICAgbnVtYmVycy5yZW1vdmUoMCkKICAgIHkgPSAwCiAgICBpZiB2ID09ICJudW1iZXIiOgogICAgICAgIHdoaWxlIHkgPCAyNjoKICAgICAgICAgICAgaWYgY2hhcmFjdGVyc1t5XSA9PSB4Lmxvd2VyKCk6CiAgICAgICAgICAgICAgICByZXR1cm4gbnVtYmVyc1t5XQogICAgICAgICAgICB5ICs9IDEKICAgIGVsaWYgdiA9PSAibGV0dGVyIjoKICAgICAgICB3aGlsZSB5IDwgMjY6CiAgICAgICAgICAgIGlmIG51bWJlcnNbeV0gPT0geDoKICAgICAgICAgICAgICAgIHJldHVybiBjaGFyYWN0ZXJzW3ldLnVwcGVyKCkKICAgICAgICAgICAgeSArPSAxCgpkZWYgZnVuY3Rpb24oeCk6CiAgICBpZiB4IGluIHJhbmdlKGNvbnZlcnQoIkEiLCAibnVtYmVyIiksIGNvbnZlcnQoIkUiLCAibnVtYmVyIikgKyAxKToKICAgICAgICB5ID0gMiAqIHgKICAgIGVsaWYgeCBpbiByYW5nZShjb252ZXJ0KCJGIiwgIm51bWJlciIpLCBjb252ZXJ0KCJKIiwgIm51bWJlciIpICsgMSk6CiAgICAgICAgeSA9IDUgKiAoeCAlIDMpCiAgICBlbGlmIHggaW4gcmFuZ2UoY29udmVydCgiSyIsICJudW1iZXIiKSwgY29udmVydCgiTyIsICJudW1iZXIiKSArIDEpOgogICAgICAgIHkgPSA4ICogKHggLyA0KQogICAgZWxpZiB4IGluIHJhbmdlKGNvbnZlcnQoIlAiLCAibnVtYmVyIiksIGNvbnZlcnQoIlQiLCAibnVtYmVyIikgKyAxKToKICAgICAgICBwbGFjZSA9IHN0cih4KQogICAgICAgIGEgPSAwCiAgICAgICAgYiA9IDAKICAgICAgICB3aGlsZSBiIDwgbGVuKHBsYWNlKToKICAgICAgICAgICAgYSArPSBpbnQocGxhY2VbYl0pCiAgICAgICAgICAgIGIgKz0gMQogICAgICAgIHkgPSAxMCAqIGEKICAgIGVsaWYgeCBpbiByYW5nZShjb252ZXJ0KCJVIiwgIm51bWJlciIpLCBjb252ZXJ0KCJaIiwgIm51bWJlciIpICsgMSk6CiAgICAgICAgYSA9IDIKICAgICAgICB3aGlsZSBhIDwgeDoKICAgICAgICAgICAgaWYgeCAlIGEgPT0gMDoKICAgICAgICAgICAgICAgIGIgPSBhCiAgICAgICAgICAgIGEgKz0gMQogICAgICAgIHkgPSAxMiAqIGIKICAgIHkgPSB5ICUgMjYKICAgIGlmIHkgPT0gMDoKICAgICAgICB5ID0gMjYKICAgIHJldHVybiBjb252ZXJ0KHksICJsZXR0ZXIiKQoKZGVmIG1haW4oKToKICAgIGlucHV0cyA9IFtdCiAgICBvdXRwdXRzID0gW10KICAgIGEgPSAwCiAgICB3aGlsZSBhIDwgNToKICAgICAgICBpbnB1dHMuYXBwZW5kKHJhd19pbnB1dCgpKQogICAgICAgIG91dHB1dHMuYXBwZW5kKGZ1bmN0aW9uKGNvbnZlcnQoaW5wdXRzW2FdLCAibnVtYmVyIikpKQogICAgICAgIGEgKz0gMQogICAgYSA9IDAKICAgIHdoaWxlIGEgPCA1OgogICAgICAgIHByaW50IG91dHB1dHNbYV0KICAgICAgICBhICs9IDEKCm1haW4oKQ==