简单题,注意处理0和1的情况
program word;
var
j:char;
s:string;
min,max,i:integer;
a:array['a'..'z'] of integer;
function check(k:integer):boolean;
var
i:integer;
begin
if (k=1) or (k=0) then exit(false);
if k=2 then exit(true);
for i:=2 to trunc(sqrt(k))+1 do
if k mod i=0 then exit(false);
exit(true);
end;
begin
assign(input,'WORD.in');
reset(input);
assign(output,'WORD.out');
rewrite(output);
fillchar(a,sizeof(a),0);
readln(s);
for i:=1 to length(s) do
inc(a[s[i]]);
max:=-maxint;
min:=maxint;
for j:='a' to 'z' do
if a[j]<>0 then
begin
if a[j]>max then max:=a[j];
if a[j]<min then min:=a[j];
end;
if check(max-min) then
begin
writeln('Lucky Word');
writeln(max-min);
end
else
begin
writeln('No Answer');
writeln('0');
end;
close(input);
close(output);
end.