#include<bits/stdc++.h>
#define ll long long
#define ii int
using namespace std;
const ll MAXN=2e3+10;
ii p1,p2,p3,cr[MAXN],j;
string s,ss;
string pp(ii x,ii y,ii z,ii x1,ii x2){
string s;
ii xx=(int)x1;
ii yy=(int)x2;
for(ii i=xx+1;i<yy;++i){
ii k=y;
if(x==1){
s+=tolower((char)i);
while(--k)s+=tolower((char)i);
}
if(x==2){
s+=toupper((char)i);
while(--k)s+=toupper((char)i);
}
}
if(z==2)reverse(s.begin(),s.end());
return s;
}
string shuziii(ii y,ii z,char a,char b){
string s;
ii aa,bb;
aa=(int)a;
bb=(int)b;
for(ii i=a+1;i<b;++i){
ii k=y;
s+=(char)i;
while(--k)s+=(char)i;
}
if(z==2)reverse(s.begin(),s.end());
return s;
}
int main(){
cin>>p1>>p2>>p3;
cin>>s;
for(ii i=0;i<s.size();++i){
if(s[i]=='-'){
if((isdigit(s[i-1])&&isalpha(s[i+1]))||(isalpha(s[i-1])&&isdigit(s[i+1]))||(s[i-1]==s[i+1])){
ss+='-';
continue;
}
if(isalpha(s[i-1])&&isalpha(s[i+1])){
ss+=pp(p1,p2,p3,s[i-1],s[i+1]);
}
if(isdigit(s[i-1])&&isdigit(s[i+1])){
ss+=shuziii(p2,p3,s[i-1],s[i+1]);
}
}
if(s[i]!='-')
ss+=s[i];
}
cout<<ss;
return 0;
}