//心得:要知道事物原本的样子,还有他改变的样子。
//学到的知识:判断大小写: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;
}