KWADRAT(X,Y,Z):-grposn(X,Y),grvec(Z,0,on,nostop),
 grvec(0,Z,on,nostop),grposn(X,Y),grvec(0,Z,on,nostop),
 grvec(Z,0,on,nostop).
DOM(X,Y,Z):-grposn(X,Y), gregion(0,[[0,0],[0,Z],[Z,Z],[Z,0]],on),
KWADRAT(X,Y,Z), A is Z/2, B is 0-Z/2, grposn(X,Y),
gregion(7,[[0,0],[A,B],[Z,0]],on),
grscale(MAS), DELTA is Z/4*100/MAS, X1 is X+DELTA, Y1 is Y+DELTA,
A1 is X1+DELTA, B1 is Y1+DELTA,
KWADRAT(X1,Y1,A), grposn(X1,B1), grvec(DELTA,0,on,nostop),
grposn(A1,Y1), grvec(0,DELTA,on,nostop).
ULICA(A,B,C,D,E,0).
ULICA(X1DOM,Y1DOM,S1DOM,DX,DY,N):-DOM(X1DOM,Y1DOM,S1DOM),
 grscale(MAS), grmudv(DX,100,MAS,DELX), XX2 is X1DOM+DELX,
 grmudv(DY,100,MAS,DELY), YY2 is Y1DOM+DELY, N2 is N-1,
 SS2 is S1DOM+DELY,
 ULICA(XX2,YY2,SS2,DX,DY,N2).
                                                                                                                                                                                                                                                                              