program graph3; {$APPTYPE CONSOLE} var m,n:integer; c:array [1..100,1..100] of integer; kol,s,smin,kk,k,im,np,i,j:integer; rez,stack:array [0..100] of integer; f1,f2:text; function f:boolean; var ii:integer; p:boolean; begin p:=true; for ii:=0 to im-1 do if (np=stack[ii])then p:=false; f:=p; end; procedure outresalt; var p,i:integer; vv:boolean; begin {перевірка} vv:=true; i:=0; while i=1 then m:=m+1; m:=m div 2; for k:=1 to n do begin stack[0]:=k; im:=1; np:=1; while im>0 do begin while ((np<=n)and(c[stack[im-1],np]=0)) do np:=np+1; if (np>n) then begin im:=im-1; np:=stack[im]+1; end else begin stack[im]:=np; im:=im+1; np:=1; if im-1=m then begin outresalt;im:=im-1;np:=stack[im]+1;end end; end; end; writeln(f2,'kol=',kol); CLOSE(F2); end.