def decode(key1,key2,n): # decode 함수 생성
    find = ord(n) - ord('a')  # n의 자릿수 확인
    for i in range(0,26): 
        ch = (i * key1 + key2) % 26 # 암호화
        if (find == ch) : # find와 ch가 같을 경우 복호화 문자 찾음
            return  chr(i + ord('a'))

sentence_before=input() # 문자열 입력
sentence_after=''
key1=int(input()) # key1과 key2 입력
key2=int(input())

for n in sentence_before: # 입력받은 문자열의 문자 하나와 key값들을 인자로 넣어 함수 호출
  sentence_after+=decode(key1,key2,n)

print(sentence_after) # 복호화된 코드 출력
#2 실습
flag=0
p=1

while True:
    num=input().split()

#문자 확인
    for i in num:
        if(i.isdigit()==False):
            print("다시...!")
            flag=1
            break

    if(flag==1):
        flag=0
        continue
#문자 확인

    num=list(map(int,num))

    numlen=len(num)

#개수 확인
    if(numlen>3 or numlen<1):
        print('개수 맞춰서\\n다시...!')

        continue
#개수 확인

#순서 확인
    elif(num[0]<=p and num[0]!=1):
        print("순서에 맞게\\n다시...!")
        continue
#순서 확인

#+1확인
    if(numlen==3):
        if (num[0]+1!=num[1] or num[1]+1!=num[2]):
            print("1씩 증가하게\\n다시...!")
            continue

    elif(numlen==2):
        if(num[0]+1!=num[1]):
            print("1씩 증가하게\\n다시...!")
            continue

    
#+1확인

    p=num[numlen-1]#num이라는 배열 내에 가장 큰 숫자 지목
    print(p)

    if(p==31):
        print('YOU LOSE')
        break