uses graphuter; function vejir(n: Integer): Graph; var g: Graph; p: Integer; begin if n=1 then begin g := EmptyG; AddV(g, 1); AddV(g, undef); AddE(g, 1, 2, undef); end else begin p := n div 2; g := vejir(p); g := Join(g, g, IM_value_defined, IM_none); AddE(g, p+1, p+2, undef); if n mod 2 = 1 then begin AddV(g, undef); AddE(g, n, n+1, undef); AddE(g, 1, n+1, undef); end; end; vejir := g; end; function kolo(n: Integer): Graph; var g: Graph; begin g := vejir(n); AddE(g, 2, n+1, undef); kolo := g; end; var g: Graph; begin g := kolo(10); WriteG(g); end.