a = ord("A")
def dec(k,s):
    t = ""
    n = 0
    for i in s:
        if i == " ":
            t += " "
        else:
            t += chr(a + ((ord(i) - a) - (ord(k[n]) - a))%26)
            n = (n+1)%len(k)
    return t

def find(s):
    f =  [8.4, 1.06, 3.03, 4.18, 17.26, 1.12, 1.27, 0.92, 7.34, 0.31, 0.05, 6.01, 2.96, 7.13, 5.26, 3.01,0.99, 6.55, 8.08, 7.07, 5.74, 1.32, 0.04, 0.45, 0.3, 0.12]
    n = len(s)
    f = [n*i/100 for i in f]
    mn = 100000
    ans = 0
    for i in range(26):
        tmp = [0]*26
        for j in range(n):
            tmp[(ord(s[j]) - ord('A') - i) % 26] += 1
        diff = sum([abs(tmp[k] - f[k]) for k in range(26)])
        if diff < mn:
            mn = diff
            ans = i
    return ans

ss = input()
s = ss.replace(" ","")
n = len(s)
mn = 1000
l = 0
fr = 0.0746
for k in range(1,11):
    cnt = []
    for _ in range(k):
        cnt.append([0]*26)
    for i in range(n):
        cnt[i%k][ord(s[i])-a] += 1
    ans = 0
    for i in range(k):
        v = sum(cnt[i])
        ans += sum([j*(j-1) for j in cnt[i]])/(v*(v-1))
    ans /= k
    if (abs(ans-fr) < mn):
        mn = abs(ans-fr)
        l = k

sub = [""]*l
key = ""
for i in range(n):
    sub[i%l] += s[i]
for i in range(l):
    key += chr(a+find(sub[i]))

print(key)
print(dec(key,ss))