#include<queue>
#include<string.h>
#include<stdio.h>
int map[1001][1001],mid,lenk,lenc;
char k[1001],c[1001];
std::queue<int>q;
int main(){
for(int i=1;i<=26;i++) q.push(i);
for(int i=1;i<=26;i++){
mid=q.front();
q.push(mid);q.pop();
for(int j=26;j>=1;j--){
mid=q.front();
map[i][j]=q.front();
q.push(mid);q.pop();
}
}
scanf("%s",k);
scanf("%s",c);
lenk=strlen(k);
lenc=strlen(c);
int pos=0;
for(int i=0;i<lenc;i++){
if(pos>lenk-1) pos=0;
if(int(c[i])<=90){
if(int(k[pos])<=90){
printf("%c",map[int(c[i])-64][int(k[i])-64]+64);
pos++;
}else{
printf("%c",map[int(c[i])-64][int(k[i])-96]+64);
pos++;
}
}else{
if(int(k[pos])<=90){
printf("%c",map[int(c[i])-96][int(k[i])-64]+96);
pos++;
}else{
printf("%c",map[int(c[i])-96][int(k[i])-96]+96);
pos++;
}
}
}
return 0;
}
AC必关。