alph='АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'
decode_string='ЙЧСЦЮЬЪЩЩМЛЫЪРЫФЭИЭЪЪНЕСЩФЛРЪЦМУЗОМСЮГЮЪЪЮЫЬМОФЮСЧСШНЗЧРСХЭЮОФЮСЧИЩЪЭЪУРМЮСЧИЭЪЪНЕСЩФЛ'
bigrams = ["ГЪ","КЩ","ЩФ","ЩЗ","ЭЩ","ЩК","ГЩ","ЩП","ЩТ","ЩШ","ЩГ","ЩМ","ФЩ","ЩЛ","ЩД","ДЩ","ЧЦ","ВЙ","ЙА","ШЯ","ШЫ","ГЮ","ХЯ","ЙЫ","ЦЯ","ГЬ","СЙ","ХЮ","ЪЖ","ЪД","УЬ","ЩЧ","ЧЙ","ШЙ","ШЗ","ЫФ","ЖЩ","ЖШ","ЖЦ","ЫЪ","ЫЭ","ЫЮ","ЫЬ","ЖЙ","ЫЫ","ЖЪ","ЖЫ","ЪШ","ПЙ","ЪЩ","ЗЩ","ЪЧ","ЪЦ","ЪУ","ЪФ","ЪХ","ЪЪ","ЪЫ","ЫО","ЖЯ","ЗЙ","ЪЬ","ЪЭ","ЫА","НЙ","ЕЬ","ЦЙ","ЬЙ","ЬЛ","ЬР","ПЪ","ЕЫ","ЕЪ","ЬА","ШЪ","ЪТ","ЩС","ОЬ","КЪ","ОЫ","ЩХ","ЩЩ","ЩЪ","ЩЦ","КЙ","ОЪ","ЦЩ","ЛЪ","МЙ","ШЩ","ЦЬ","ЦЪ","ЩЙ","ЙЬ","ЪГ","ИЪ","ЪБ","ЪВ","ЪИ","ЪЙ","ЪП","ЪР","ЪС","ЪО","ЪН","ЪК","ЪЛ","ЪМ","ИЫ","ИЬ","ЙУ","ЩЭ","ЙЫ","ЙЪ","ЩЫ","ЩЮ","ЩЯ","ЪА","МЪ","ЙЙ","ЙЖ","ЬУ","ГЙ","ЭЪ","УЪ","АЬ","ЧЪ","ХЙ","ТЙ","ЧЩ","РЪ","ЮЪ","ФЪ","УЫ","АЪ","ЮЬ","АЫ","ЮЫ","ЭЬ","ЭЫ","БЙ","ЯЬ","ЬЫ","ЬЬ","ЬЪ","ЯЪ","ЯЫ","ХЩ","ДЙ","ФЙ"]

def get(bigs,string):
  count=0
  for bi in bigs:
    if bi in string:
      count=count+1
  if count==0: return True
  else: return False

for shift in range(len(alph)-1): #shift = 20
  answer=[alph[((alph.find(string)+shift)%len(alph))] for string in decode_string] # shift =20
  temp=''.join(answer)
  if get(bigrams,temp)==True:
    print(temp)
