/max 9 def   % milyen mely lesz a fa
/depth 0 def   % fa aktualis melysege
/len max 1 add 5 mul 12 add def % ag hossza (max+1)*5 + 12
/angle max 1 add 4 mul def % agak kozti bezart szog

/line {
  0 0 moveto 0 len lineto
  max depth sub setlinewidth
  100 19 100 sub max div depth mul add 255 div
  93 172 93 sub max div depth mul add 255 div
  67 42 67 sub max div depth mul add 255 div setrgbcolor
  stroke
} def

/inc {
  /depth depth 1 add def
  /len len 5 sub def
  /angle angle 4 sub def
  0 len translate
} def

/dec {
  /depth depth 1 sub def
  0 len neg translate
  /angle angle 4 add def
  /len len 5 add def
} def

/bal {
  angle rotate
  line
  inc fa dec
  angle neg rotate
} def
 
/jobb {
  angle neg rotate
  line
  inc fa dec
  angle rotate
}  def

/fa {
  depth max eq { 0 0 1 0 360 arc fill }
  { bal jobb }  ifelse
} def
 

%foprogi
300 300 translate
fa