program graph3; {$APPTYPE CONSOLE} var m,n:integer; c:array [1..100,1..100] of integer; kk,k,im,np,i,j:integer; rez,stack:array [0..100] of integer; f1:text; procedure outresalt; var p,i:integer; vv:boolean; begin vv:=true; i:=0; while i0 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; CLOSE(F1); end.