简单题,注意处理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.