(tree)
(1 .sub .dup 0 .gt 
	(.dup .dup  
	.pushdc 
		T 
			60 
			25 scl 50 .mul 2. .div .sub 
			.translate
		0 0 .moveto 
		scl scl .scale 
		R 
		110 50 .translate 
		0 0 .moveto 
		.pushdc 
			90 .rotate 
			-1 1 .scale  
			tree 
		.popdc 
		60 -50 .translate 
		0 0 .moveto 
		.pushdc 
			90 .rotate 
			tree 
		.popdc 
	.popdc)
	( .pushdc T .popdc) 
/ifelse .pop).cvx .def


(T)
[ (.startpath).load
0 25 (.enterpoint).load
0 50 (.enterpoint).load
50 50 (.enterpoint).load
50 25 (.enterpoint).load
40 25 (.enterpoint).load
40 40 (.enterpoint).load
30 40 (.enterpoint).load
30 0 (.enterpoint).load
20 0 (.enterpoint).load
20 40 (.enterpoint).load
10 40 (.enterpoint).load
10 25 (.enterpoint).load
(.drawarea).load ] .cvx .def

(R)
[ (.startpath).load
0 0 (.enterpoint).load
0 50 (.enterpoint).load
40 50 (.enterpoint).load
40 20 (.enterpoint).load
30 20 (.enterpoint).load
50 0 (.enterpoint).load
30 0 (.enterpoint).load
10 20 (.enterpoint).load
10 30 (.enterpoint).load
30 30 (.enterpoint).load
30 40 (.enterpoint).load
10 40 (.enterpoint).load
10 0 (.enterpoint).load
(.drawarea).load ] .cvx .def

(scl) .6 .def