//心得:要知道事物原本的样子,还有他改变的样子。
//学到的知识:判断大小写:islower,isupper,数字:isdigit;
#include <bits/stdc++.h>
using namespace std;
int main() {
int p1, p2, p3;
cin >> p1 >> p2 >> p3;
string s;
cin >> s;
vector<int>flags(s.size(),0);
for (int i = 0; i < s.size(); i++) {
if (s[i] == '-') {
if (i == 0 || i == s.size() - 1){
flags[i]=0;
continue;
}
char l=s[i-1],r=s[i+1];
bool bothle=(islower(l)&&islower(r));
bool bothnu=(isdigit(l)&&isdigit(r));
if (bothle||bothnu){
if(l<r)flags[i]=1;
}
}
}
for (int i = 0; i < s.size(); i++) {
if (flags[i] == 1) {
char l=s[i-1],r=s[i+1];
int len=r-l-1;
if (len>=1) {
vector<char>fill;
for(int j=1;j<=len;j++){
char ch=l+j;
if(p1==2&&islower(ch))ch=toupper(ch);
fill.push_back(ch);
}
if(p3==2)reverse(fill.begin(),fill.end());
for(char x:fill){
for(int j=0;j<p2;j++){
if(p1==3)cout<<'*';
else cout<<x;
}
}
}
} else cout << s[i];
}
return 0;
}