program
writeln('vv chislo fakt kot nado pods ')
readln(n);
a[0]:=1; a[1]:=1; j:=2;
while (j<=n) and (a[0] r:=0; i:=1;
while(i<=a[0]) or (r<>0) do begin
w:=a[i]*j+r;
a[i]:= w mod 10;
r:=w div 10;
if a[[a]0+1]<>0 then inc(a[0]);
inc(i);
end;
inc(j);
end;
for i:=a[0] downto 1 do write(a[i]);
writeln;
readln;
uses crt;
const n=8;
dx:Array[1..n] of integer = (-2,-1, 1, 2, 2, 1, -1,-2);
dy:Array[1..n]of integer=(1,2,2,1,-1,-2,-2,-1);
type tarr=array[1..n,1..n] of integer;
var a:tarr; c: char;
p,k,kx,ky,qy,qx,ak,aq:integer; S:real;
procedure printBoard;
var i,j:integer;
begin
for i:=1 to n do begin
for j:=1 to n do
write(a[i,j],'');
writeln;
end;
end;
procedure fillknightattak( var a:tarr; x,y:integer; var attack:integer);
var i,dsx,dsy:integer;
Begin
for i:=1 to n do
dsx:=x+dx[i];dsy:=y+dy[i];
if ( dsx in[1..8]) and (dsy in [1..8])
then begin if a[dsx,dsy]=8 then attack :=a[dsx,dsy];
if a[dsx,dsy]=0 then a[dsx,dsy]:=1;end;
end;
Begin
{'z'-1, 'b'-2,'c'-3, 'd'-4, 'c'-5,'f'-6,'g'-7,'h'-8}
clrscr;
readln(c,ky);
kx:=ord(c)-ord('a')+1;
readln(c,qy);
qx:=ord(c)-ord('a')+1;
ak:=0;
a[kx,ky]:=7;
a[qx,qy]:=8;
fillknightattak(a,kx,ky,ak);
writeln('boord:'); printboard;
if ak<>0 then writeln('kninght attack queen')
else writeln('kninght doesnt attack queen');
end.