#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
using namespace std;
char word[26] = {'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'};
char k[2000] , ans[2000];
bool flag[2000];
int main(){
cin >> k >> ans;
int lenk = strlen(k) , lena = strlen(ans);
for(int i = 0; i < lenk; ++i){
if(k[i] >= 'A' and k[i] <= 'Z'){
flag[i] = true;
k[i] += 32;
}
}
for(int i = 0; i < lena; ++i){
if(ans[i] >= 'A' and ans[i] <= 'Z'){
ans[i] += 32;
}
}
int t = 0;
for(int i = 0; i < lena; ++i){
if(t == lenk){
t = 0;
}
ans[i] = word[((ans[i] - 'a') - (k[t] - 'a') + 26) % 26];
t++;
}
for(int i = 0; i < lena; ++i){
if(flag[i]){
ans[i] -= 32;
}
cout << ans[i];
}
return 0;
}