#include<iostream>
#include<string>
#include<algorithm>
#include<math.h>
using namespace std;
int main()
{
int p1, p2, p3;
cin >> p1 >> p2 >> p3;
string s;
cin >> s;
int col = 0;
int d_value = 0;
string str;
while (s.find('-', col) != string::npos) {
col = s.find('-', col);
if (col == 0 || col == s.length() - 1) {
col++;
continue;
}
if (abs(s[col - 1] - s[col + 1]) > 25) {
col++;
continue;
}
if (s[col + 1] == '-' || s[col - 1] == '-') {
col++;
continue;
}
d_value = s[col+1] - s[col-1];
if (d_value > 0) {
s.erase(col ,1);
if (p1 == 1) {
for (int i = 1; i < d_value; i++) {
str.append(p2, char(s[col - 1] + i));
}
}
else if (p1 == 2) {
if (s[col] < 'a') {
for (int i = 1; i < d_value; i++) {
str.append(p2, char(s[col - 1] + i));
}
}
else {
for (int i = 1; i < d_value; i++) {
str.append(p2, char(s[col - 1] + i - 32));
}
}
}
else if (p1 == 3) {
for (int i = 1; i < d_value; i++) {
str.append(p2, '*');
}
}
if (p3 == 2)
reverse(str.begin(), str.end());
s.insert(col, str);
}
else
col++;
str = '\0';
}
cout << s << endl;
return 0;
}