import sys
ALPHABET = [chr(x) for x in range(0x41,0x41+26)]
X1= ('B','D','F','H','J','L','C','P','R','T','X','V','Z','N','Y','E','I','W','G','A','K','M','U','S','Q','O')
X2= ('A','J','D','K','S','I','R','U','X','B','L','H','W','T','M','C','Q','G','Z','N','P','Y','F','V','O','E')
X3= ('E','K','M','F','L','G','D','Q','V','Z','N','T','O','W','Y','H','X','U','S','P','A','I','B','R','C','J')
XU= ('Y','R','U','H','Q','S','L','D','P','X','N','G','O','K','M','I','E','B','F','Z','C','W','V','J','A','T')
E = 'BGLRAOGHKRWRGSKCNSJAXXUUEXNSRXQUDXOSZHNIWLUVKXIPJSNJTM'
to_dict = lambda x: {chr(k+0x41):v for k,v in enumerate(x)}
# key for value
kfv = lambda d,x : [y for y,z in d.items() if z==x][0]
# encrypt
e = lambda x: kfv(W1,kfv(W2, kfv(W3,U[W3[W2[W1[x]]]])))
# predecessor
p = lambda x : ALPHABET[((ord(x)-0x41-1)+26)%26]
# successor
s = lambda x : ALPHABET[((ord(x)-0x41+1)+26)%26]
# rotate back
rb = lambda x : { p(k): p(v) for k,v in x.items() }
# rotate forward
rf = lambda x : { s(k): s(v) for k,v in x.items() }
ow1 = to_dict(X1)
ow2 = to_dict(X2)
ow3 = to_dict(X3)
ou = to_dict(XU)
W1 = to_dict(X1)
W2 = to_dict(X2)
W3 = to_dict(X3)
U = to_dict(XU)
counter_0 = 0
counter_1 = 0
counter_2 = 0
counter_3 = 0
D = ''
r3 = 1
rotated3 = False
rotated2 = False
rotated1 = False
for rw3 in range(1,26*26+1):
for rw1 in range(1,26*26+1):
counter_0 = 0
rotated1 = False
rotated2 = False
rotated3 = False
print(rw3, rw1)
while True:
if e(E[0])+\
e(E[1])+\
e(E[2])+\
e(E[3])+\
e(E[4])+\
e(E[5]) == 'WETTER':
for l in E:
D += e(l)
print(D)
sys.exit()
counter_0 += 1
if (counter_0) % rw1 == 0:
W1 = rb(W1)
rotated1 = True
if (counter_0) % 21 == 0:
W2 = rb(W2)
rotated2 = True
if counter_0 % rw3 == 0:
W3 = rb(W3)
rotated3 = True
if rotated1 and rotated2 and rotated3 and ow1 == W1 and ow2 == W2 and ow3 == W3 and ou == U:
break