{$mode delphi}
uses graph;
var i,j:smallint;
    dy0:integer;

procedure tree(x0,y0,dx,dy:integer);
var col:integer;
begin
if dy=0 then exit;
col:=100-(dy*99 div dy0);
setcolor(col);
//writeln(x0,' ',y0,' ',dx,' ',dy,' ',col);
line(x0,y0,x0+dx,y0-dy);
tree(x0+dx,y0-dy,dy*2 div 4 - random(dy div 4), dy*2 div 4 + random(dy div 3));
tree(x0+dx,y0-dy,-dy*2 div 4 - random(dy div 4), dy*2 div 4 + random(dy div 3));
end;

begin
initgraph(i,j,'');
setrgbpalette(0,128,196,255);
for i:=1 to 100 do
    setrgbpalette(i,0,i*255 div 100,0);
setcolor(0);
setfillstyle(1,0);
bar(0,0,getmaxx-1,getmaxy-1);
dy0:=getmaxy div 4;
tree(getmaxx div 2, getmaxy-1, 0, dy0);
readln;
end.