program minden_vezer; var i:integer; x:array[1..8]of integer; a:array[1..8]of boolean; b:array[2..16]of boolean; c:array[-7..7]of boolean; procedure elhelyez(i:integer); var j,k:integer; begin for j:=1 to 8 do begin if (a[j])and(b[i+j])and(c[i-j]) then begin x[i]:=j; a[j]:=false;b[i+j]:=false;c[i-j]:=false; if i<8 then elhelyez(i+1) else for k:=1 to 8 do if k<8 then write(x[k]:4)else writeln(x[k]:4); a[j]:=true;b[i+j]:=true;c[i-j]:=true; end; end; end; begin for i:=1 to 8 do a[i]:=true; for i:=2 to 16 do b[i]:=true; for i:=-7 to 7 do c[i]:=true; elhelyez(1); readln; end.