i,j:longint;
a:array[0..30]of longint;bo:boolean;
function check(x:longint):boolean;
var i:longint;
begin
if x<2 then exit(false);
for i:=2 to trunc(sqrt(x)) do
if x mod i=0 then exit(false);
exit(true);
end;
procedure main;
begin
for i:=1 to length(s) do
inc(a[ord(s[i])-96]);
for i:=1 to 25 do
for j:=i+1 to 26 do
if a[i]>a[j] then
begin
a[0]:=a[i];a[i]:=a[j];a[j]:=a[0];
end;
for i:=1 to 26 do if a[i]<>0 then begin
if check(a[26]-a[i]) then
begin
writeln('Lucky Word');
exit;
end;
end;
writeln('No Answer');
end;
begin
readln(s);
main;
end.
max,min:integer;
a:array['a'..'z'] of integer;
j:integer;
i:char;
function zs(s:integer):boolean;
var
i:integer;
begin
if s<=1 then exit(false);
for i:=2 to trunc(sqrt(s)) do
if s mod i=0 then exit(false);
exit(true);
end;
begin
fillchar(a,sizeof(a),0);
repeat
read(i);
a[i]:=a[i]+1;
until (ord(i)<97) or (ord(i)>122);
max:=0; min:=maxint;
for i:='a' to 'z' do
if a[i]<>0 then
begin
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i];
end;
j:=max-min;
if zs(j) then begin writeln('Lucky Word'); writeln(j); end
else begin writeln('No Answer'); writeln(0); end;
end.