Помогите разобраться с заливкой.
Вот сделал изображения по своему варианту,(правда стрелки все не стал делать

) там еще требуется показать умения применять разные цвета и заливку. Цвета я сделал, а вот с заливкой чот не могу разобраться как она работает

(хотел просто круги залить светло серым цветом или один хотябы круг).
Код
program Image;
uses crt,graph;
var yd,ym,x,y:integer; mk:real;
procedure cir1(x,y:integer; mk:real);
begin
setcolor(11);
circle(x,y,round(10*mk));
settextstyle(1,0,1*round(mk));
outtextxy(x-3,y-10,'1');
end;
procedure cir2(x,y:integer; mk:real);
var x0,y0:integer;
begin
x0:=x+round((50*round(mk))/2);
y0:=y-round((100*round(mk))/2);
setcolor(10);
line(x,y-round((20*round(mk))/2),x0-round((15*round(mk))/2),y0+round((15*round(mk))/2));
line(x0-round((15*round(mk))/2),y0+round((15*round(mk))/2),
(x0-round((15*round(mk))/2))-round((10*round(mk))/2),y0+round((15*round(mk))/2));
line(x0-round((15*round(mk))/2),y0+round((15*round(mk))/2),
x0-round((15*round(mk))/2),(y0+round((15*round(mk))/2))+round((12*round(mk))/2));
setcolor(11);
circle(x0,y0,round(10*mk));
settextstyle(1,0,1*round(mk));
outtextxy(x0-3,y0-10,'2');
end;
procedure cir3(x,y:integer; mk:real);
var x0,y0:integer;
begin
x0:=x+round((200*round(mk))/2);
y0:=y-round((100*round(mk))/2);
circle(x0,y0,round(10*mk));
settextstyle(1,0,1*round(mk));
outtextxy(x0-3,y0-10,'3');
end;
procedure cir4(x,y:integer; mk:real);
var x0,y0:integer;
begin
x0:=x+round((250*round(mk))/2);
y0:=y;
circle(x0,y0,round(10*mk));
setcolor(10);
line(x0-round((20*round(mk))/2),y,x+round((20*round(mk))/2),y);
line(x+round((20*round(mk))/2),y,x+round((50*round(mk))/2),y-round((5*round(mk))/2));
line(x+round((20*round(mk))/2),y,x+round((50*round(mk))/2),y+round((5*round(mk))/2));
setcolor(11);
settextstyle(1,0,1*round(mk));
outtextxy(x0-3,y0-10,'4');
end;
procedure cir5(x,y:integer; mk:real);
var x0,y0:integer;
begin
x0:=x+round((50*round(mk))/2);
y0:=y+round((100*round(mk))/2);
circle(x0,y0,round(10*mk));
settextstyle(1,0,1*round(mk));
outtextxy(x0-3,y0-10,'5');
end;
procedure cir6(x,y:integer; mk:real);
var x0,y0:integer;
begin
x0:=x+round((200*round(mk))/2);
y0:=y+round((100*round(mk))/2);
circle(x0,y0,round(10*mk));
settextstyle(1,0,1*round(mk));
outtextxy(x0-3,y0-10,'6');
end;
procedure text(x,y:integer; mk:real);
var x0,y0:integer;
begin
setcolor(12);
x0:=x+round((225*round(mk))/2);
y0:=y-round((75*round(mk))/2);
settextstyle(1,0,2*round(mk));
outtextxy(x0,y0,'Graph');
end;
Begin clrscr;
writeln('Vvedite - x, y and Mk');
readln(x);
readln(y);
readln(mk);
InitGraph(yd,ym,'');
cir1(x,y,mk);
cir2(x,y,mk);
cir3(x,y,mk);
cir4(x,y,mk);
cir5(x,y,mk);
cir6(x,y,mk);
text(x,y,mk);
readkey;
closegraph;
End.