#include<cstring>
#include<cstdio>
using namespace std;
char str[10000];
char whh[10000];
int op,p1,p2,p3;
void work(char ll,char rr)
{
char l=(char)((int)ll+1); char r=(char)((int)rr-1);
if((ll>='0')&&(ll<='9')&&(rr>='0')&&(rr<='9')&&(ll<rr))
{
if(l==rr)
{
return;
}
if((p1==1)||(p1==2))
{
if(p3==1)
{
for(char x=l;x<=r;x++)
{
for(int j=1;j<=p2;j++)
{
op++;
whh[op]=x;
}
}
}
if(p3==2)
{
for(char x=r;x>=l;x--)
{
for(int j=1;j<=p2;j++)
{
op++;
whh[op]=x;
}
}
}
}
else if(p1==3)
{
for(char x=l;x<=r;x++)
{
for(int j=1;j<=p2;j++)
{
op++;
whh[op]='*';
}
}
}
}
else if((ll>='a')&&(ll<='z')&&(rr>='a')&&(rr<='z')&&(ll<rr))
{
if(l==rr)
{
return;
}
if(p1==1)
{
if(p3==1)
{
for(char x=l;x<=r;x++)
{
for(int j=1;j<=p2;j++)
{
op++;
whh[op]=x;
}
}
}
if(p3==2)
{
for(char x=r;x>=l;x--)
{
for(int j=1;j<=p2;j++)
{
op++;
whh[op]=x;
}
}
}
}
else if(p1==2)
{
if(p3==1)
{
for(char x=l;x<=r;x++)
{
for(int j=1;j<=p2;j++)
{
op++;
whh[op]=(char)((int)x-32);
}
}
}
if(p3==2)
{
for(char x=r;x>=l;x--)
{
for(int j=1;j<=p2;j++)
{
op++;
whh[op]=(char)((int)x-32);
}
}
}
}
else if(p1==3)
{
for(char x=l;x<=r;x++)
{
for(int j=1;j<=p2;j++)
{
op++;
whh[op]='*';
}
}
}
}
else
{
op++;
whh[op]='-';
return;
}
}
int main()
{
scanf("%d%d%d",&p1,&p2,&p3);
scanf("%s",str);
int len=strlen(str);
for (int i=0;i<=len;i++)
{
if(str[i]!='-')
{
op++;//op 为答案指针
whh[op]=str[i];//whh为答案
}
else
{
work(str[i-1],str[i+1]);
}
}
for (int i=1;i<=op;i++)
{
printf("%c",whh[i]);
}
return 0;
}