p1,p2,p3,i,j,k:longint;
begin
readln(p1,p2,p3);
read(s);
for i:=1 to length(s) do
if s[i]='-' then begin
if ((s[i-1]>='a')and(s[i+1]<='z'))or((s[i-1]>='0')and(s[i+1]<='9')) then
begin
if ord(s[i+1])<=ord(s[i-1]) then x:=x+s[i];
if ord(s[i+1])-1>ord(s[i-1]) then begin
if p1=1 then
if p3=1 then begin
for k:=ord(lowercase(s[i-1]))+1 to ord(lowercase(s[i+1]))-1 do
for j:=1 to p2 do
x:=x+chr(k);
end
else begin
for k:=ord(lowercase(s[i+1]))-1 downto ord(lowercase(s[i-1]))+1 do
for j:=1 to p2 do
x:=x+chr(k);
end;
if p1=2 then
if p3=1 then begin
for k:=ord(upcase(s[i-1]))+1 to ord(upcase(s[i+1]))-1 do
for j:=1 to p2 do
x:=x+chr(k);
end
else begin
for k:=ord(upcase(s[i+1]))-1 downto ord(upcase(s[i-1]))+1 do
for j:=1 to p2 do
x:=x+chr(k);
end;
if p1=3 then
for k:=ord(upcase(s[i-1]))+1 to ord(upcase(s[i+1]))-1 do
for j:=1 to p2 do
x:=x+'*';
end;
end
else x:=x+s[i];
end
else x:=x+s[i];
write(x);
end.