#include<stdio.h>
#include<string.h>
main()
{
int k1, k2, k3;
scanf("%d%d%d", &k1, &k2, &k3);
char p[2000];
char q[200];
memset(q, 0, 200);
scanf("%s", p);
int h = 0;
for (int i = 1;i <= strlen(p) - 2;i++)
{
if (p[i] == '-')
{
if (p[i + 1] == '-' || p[i - 1] == '-')
continue;
if (p[i - 1] >= p[i + 1])
continue;
if (p[i + 1] <= 'z' && p[i + 1] >= 'a' && p[i - 1] <= '9' && p[i - 1] >= '0')
continue;
if (p[i - 1] + 1 == p[i + 1])
{
for (int x = i;x <= strlen(p) - 2;x++)
{
p[x] = p[x + 1];
}
p[strlen(p) - 1] = '\0';
continue;
}
if (p[i - 1] + 1 < p[i + 1])
{
for (int x = p[i - 1] + 1;x <= p[i + 1] - 1;x++)
{
for (int j = 1;j <= k2;j++)
{
if (k1 != 3)
{
q[h] = x;//!!!!
h++;
}
else
{
q[h] = '*';
h++;
}
}
}
if (p[i - 1] <= 'z' && p[i - 1] >= 'a')
{
if (k1 == 2)
for (int j = 0;j <= strlen(q) - 1;j++)
q[j] = q[j] - 'a' + 'A';
}
if (k3 == 2&&k1!=3)
{
int r;
for (int j = 0;j <= strlen(q) - 1-j;j++)
{
r = q[j];
q[j] = q[strlen(q) - 1 - j];
q[strlen(q) - 1 - j] = r;
}
}
int nlen = strlen(p);
p[nlen] = '0';
p[nlen + strlen(q)-1] = '\0';
for (int j = nlen - 1;j >= i + 1;j--)
{
p[j + strlen(q)-1] = p[j];
}
h = 0;
for (int j = i;j <= i + strlen(q)-1;j++)
{
p[j] = q[h];
h++;
}
memset(q, 0, 200);
h = 0;
}
}
}
printf("%s", p);
}