#include<iostream>
using namespace std;
char in[110], out[10000];
int j = 1,i;
void p(int p1,int p2,int p3)
{
switch (p1)
{
case 1:
huilai:
for (int k = 1; k < in[i + 1] - in[i - 1]; ++k)
{
if (p3==1)
{
for (int t = 1; t <= p2; ++t)
{
out[j] = in[i - 1] + k;
++j;
}
}
else if (p3 == 2)
{
for (int t = 1; t <= p2; ++t)
{
out[j] = in[i + 1] - k;
++j;
}
}
}
break;
case 2:
if (in[i - 1] - '9' > 0)
{
char temp1 = in[i - 1] - 32;
char temp2 = in[i + 1] - 32;
for (int k = 1; k < in[i + 1] - in[i - 1]; ++k)
{
if (p3==1)
{
for (int t = 1; t <= p2; ++t)
{
out[j] = temp1 + k;
++j;
}
}
else if (p3 == 2)
{
for (int t = 1; t <= p2; ++t)
{
out[j] = temp2 - k;
++j;
}
}
}
}
else
goto huilai;
break;
case 3:
for (int k = 1; k < in[i + 1] - in[i - 1]; ++k)
{
for (int t = 1; t <= p2; ++t)
{
out[j] = '*';
++j;
}
}
default:
break;
}
return;
}
int main()
{
int p1, p2, p3;
cin >> p1 >> p2 >> p3;
scanf_s("%s", &in, sizeof(in));
int len = strlen(in);
out[0] = in[0];
for (i = 1; i < len; ++i)
{
if (in[i] == '-')
{
if ((in[i - 1] <= '9' && in[i + 1] > '9')||(in[i-1]>'A'&&in[i-1]<'Z')&&(in[i+1]>'a'||p1==1))
{
out[j] = in[i];
++j;
continue;
}
if (in[i - 1] < in[i + 1])
{
p(p1, p2, p3);
continue;
}
}
out[j] = in[i];
++j;
}
cout << out;
return 0;
}
THX XD