var
s,t,w,n,max,j,i:longint;
x:char;
a:array[0..10000]of longint;
begin
readln(s,t,w);
for i:=w downto 1 do
begin
read(x);
a[i]:=ord(x)-96;
end;
n:=0;max:=0;a[0]:=t+1;
repeat
i:=1;
inc(n);
while ((a[i]=t)or(a[i]=a[i-1]-1))and(i<=t) do
inc(i);
if i>t then max:=1;
inc(a[i]);
for j:=i-1 downto 1 do
a[j]:=a[j+1]+1;
if max=0 then for j:=w downto 1 do
write(chr(a[j]+96));
writeln;
until n=5;
end.
/**************************************************************
Problem: 2262
User: admin
Language: Pascal
Result: Wrong Answer
****************************************************************/