uses crt, graph; var l, x, y, sk, r:integer; gr, gm: integer; procedure rr(x,y,r,sk:integer); begin circle(x+l,y,r); circle(x-l,y,r); circle(x,y+l,r); circle(x,y-l,r); if sk>1 then begin rr(x+r, y, r div 4, sk-1); rr(x-r, y, r div 4, sk-1); rr(x, y-r, r div 4, sk-1); rr(x, y+r, r div 4, sk-1); end; end; procedure ll(x,y,l,sk:integer); begin line(x,y, x, y+l); line(x,y, x, y-l); line(x,y, x+l, y); line(x,y, x-l, y); if sk>1 then begin ll(x+l, y, l div 4, sk-1); ll(x-l, y, l div 4, sk-1); ll(x, y-l, l div 4, sk-1); ll(x, y+l, l div 4, sk-1); end; end; begin clrscr; readln(l); x:=300; y:=240; r:=trunc(l/2); readln(sk); gr:=9; gm:=2; initgraph(gr,gm, 'z:\'); ll(x,y,l,sk); rr(x,y,r,sk); readkey; end.