#include <iostream>
#include <cctype>
#include <string>
using namespace std;
int main() {
int p1, p2, p3;
string s;
cin >> p1 >> p2 >> p3;
cin >> s;
string result = "";
for (int i = 0; i < s.length(); i++) {
if (s[i] != '-') {
result += s[i];
} else {
// 处理减号在开头或结尾的情况
if (i == 0 || i == s.length() - 1) {
result += '-';
continue;
}
char left = s[i-1];
char right = s[i+1];
// 检查是否为同类字符(数字或小写字母)且右>左
if ((isdigit(left) && isdigit(right) && right > left) ||
(islower(left) && islower(right) && right > left)) {
// 处理连续字符(如d-e)
if (right == left + 1) {
// 跳过减号(不添加到结果)
continue;
}
string fill = "";
if (p1 == 3) {
// 星号填充
fill = string((right - left - 1) * p2, '*');
} else {
// 顺序填充
if (p3 == 1) {
for (char c = left + 1; c < right; c++) {
char ch = c;
if (p1 == 2 && islower(ch)) {
ch = toupper(ch);
}
fill += string(p2, ch);
}
}
// 逆序填充
else if (p3 == 2) {
for (char c = right - 1; c > left; c--) {
char ch = c;
if (p1 == 2 && islower(ch)) {
ch = toupper(ch);
}
fill += string(p2, ch);
}
}
}
result += fill;
} else {
// 不满足展开条件,保留减号
result += '-';
}
}
}
cout << result << endl;
return 0;
}