const table : array [0..3] of string[2] = ('00','01','11','10'); var i,j,k,ni,nj,nk,num : shortint; S : Text; begin ni:=1;nj:=1;nk:=1; i:=0;j:=0;k:=0;num:=0; Assign(S,'out'); Rewrite(S); while i <> (3*(ni+1) div 2+ni) do begin while j <> (3*(nj+1) div 2+nj) do begin while k <> (3*(nk+1) div 2+nk) do begin WriteLn(S,table[i],table[j],table[k],' - ',num); inc(num); inc(k,nk); end; dec(k,nk); inc(j,nj); nk:=-nk; end; dec(j,nj); inc(i,ni); nj:=-nj; end; close(S); end.