#include<bits/stdc++.h>
using namespace std;
int p1,p2,p3;
bool function1(char c){
return c>='0'&&c<='9';
}
char function2(char c){
if(c>='a'&&c<='z'){
return c-32;
}
return c;
}
char function3(char c){
if(c>='A'&&c<='Z'){
return c+32;
}
return c;
}
bool function4(char c){
return c>='a'&&c<='z';
}
string s,ans;
string dar(char a1,int gs){
string jh="";
while(gs--){
jh+=a1;
}
return jh;
}
string ds(char a1,char a2){
string hj="";
hj+=a1;
if(a1==a2){
hj+="-";
}else if(function1(a1)!=function1(a2)){
hj+="-";
}else if(p1==1){
if(p3==1){
for(char d=function3(a1)+1;d<=function3(a2)-1;d++){
hj+=dar(d,p2);
}
}else{
for(char d=function3(a2)+1;d>=function3(a1)-1;d--){
hj+=dar(d,p2);
}
}
}else if(p1==2){
if(p3==1){
for(char d=function4(a1)+1;d<=function4(a2)-1;d++){
hj+=dar(d,p2);
}
}else{
for(char d=function4(a2)+1;d>=function4(a1)-1;d--){
hj+=dar(d,p2);
}
}
}else if(p1==3){
hj+=dar('*',p2);
}
return hj;
}
int main(){
cin>>p1>>p2>>p3>>s;
for(int i=0;i<s.size();i++){
if(s[i+1]!='-'&&(i+1)!=0&&(i+1)!=s.size()){
ans+=s[i];
}else{
ans+=ds(s[i],s[i+2]);
i++;
}
}
cout<<ans;
return 0;
}