import java.applet.Applet;
import java.awt.*;
import java.util.*;

public class m0104418 extends Applet{
  	double scale=0.75;
  	int n=9;
  	int w,h;
  	double ang=90.0;
  	double len=150.0;

public void paint(Graphics g){
    w=getSize().width;
    h=getSize().height;
    double x0,y0;
    x0=w/2;
    y0=0;
    g.setColor(Color.white);
    g.fillRect(0,0,w,h);
    g.setColor(new Color(125,42,42));

    rtree(g,n,x0,y0,len,ang);
    rtree2(g,n,x0+1,y0,len-20,ang);
    rtree3(g,n,x0-1,y0,len-40,ang);
    rtree4(g,n,x0-2,y0,len-60,ang);
    rtree5(g,n,x0+2,y0,len-75,ang);
}

public void rtree(Graphics g, int nn, double x0, double y0, double len, double ang){

	double x,y;
    final double RAD=Math.PI/180.0;

    if(nn<=0){
      return;
    }
    if(nn==1){
		g.setColor(new Color(250,60,50));
	}
	if(nn==2 || nn==3 || nn==4){
		g.setColor(new Color(240,240,30));
	}

    x=len*Math.cos(RAD*ang)+x0;
    y=len*Math.sin(RAD*ang)+y0;

    g.drawLine((int)x0,(int)(h-y0),(int)x,(int)(h-y));
    int ang_r1=25;
    int ang_r2=0;
    int ang_r3=25;
    rtree(g,nn-1,x,y,len*scale*0.8,ang-ang_r1);
    rtree(g,nn-1,x,y,len*scale*1.05,ang+ang_r2);
    rtree(g,nn-1,x,y,len*scale*0.8,ang+ang_r3);
    g.setColor(new Color(125,42,42));
}

public void rtree2(Graphics g, int nn, double x0, double y0, double len, double ang){

   	double x,y;
   	final double RAD=Math.PI/180.0;

    x=len*Math.cos(RAD*ang)+x0;
    y=len*Math.sin(RAD*ang)+y0;

    g.drawLine((int)x0,(int)(h-y0),(int)x,(int)(h-y));
    int ang_r1=45;
    int ang_r2=0;
    int ang_r3=45;
    rtree(g,nn-1,x,y,len*scale*0.8,ang-ang_r1);
    rtree(g,nn-1,x,y,len*scale*0.8,ang+ang_r2);
    rtree(g,nn-1,x,y,len*scale*0.8,ang+ang_r3);
    g.setColor(new Color(125,42,42));
}

public void rtree3(Graphics g, int nn, double x0, double y0, double len, double ang){

    double x,y;
    final double RAD=Math.PI/180.0;

    x=len*Math.cos(RAD*ang)+x0;
    y=len*Math.sin(RAD*ang)+y0;

    g.drawLine((int)x0,(int)(h-y0),(int)x,(int)(h-y));
    int ang_r1=55;
    int ang_r2=0;
    int ang_r3=55;
    rtree(g,nn-1,x,y,len*scale*0.9,ang-ang_r1);
    rtree(g,nn-1,x,y,len*scale*0.8,ang+ang_r2);
    rtree(g,nn-1,x,y,len*scale*0.9,ang+ang_r3);
    g.setColor(new Color(125,42,42));
}

public void rtree4(Graphics g, int nn, double x0, double y0, double len, double ang){

    double x,y;
    final double RAD=Math.PI/180.0;

    x=len*Math.cos(RAD*ang)+x0;
    y=len*Math.sin(RAD*ang)+y0;

    g.drawLine((int)x0,(int)(h-y0),(int)x,(int)(h-y));
    int ang_r1=35;
    int ang_r2=0;
    int ang_r3=35;
    rtree(g,nn-1,x,y,len*scale*0.95,ang-ang_r1);
    rtree(g,nn-1,x,y,len*scale*0.75,ang+ang_r2);
    rtree(g,nn-1,x,y,len*scale*0.95,ang+ang_r3);
    g.setColor(new Color(125,42,42));
}

public void rtree5(Graphics g, int nn, double x0, double y0, double len, double ang){

	double x,y;
	final double RAD=Math.PI/180.0;

	x=len*Math.cos(RAD*ang)+x0;
	y=len*Math.sin(RAD*ang)+y0;

	g.drawLine((int)x0,(int)(h-y0),(int)x,(int)(h-y));
	int ang_r1=35;
	int ang_r2=0;
	int ang_r3=35;
	rtree(g,nn-1,x,y,len*scale*0.95,ang-ang_r1);
	rtree(g,nn-1,x,y,len*scale*0.75,ang+ang_r2);
	rtree(g,nn-1,x,y,len*scale*0.95,ang+ang_r3);
	g.setColor(new Color(125,42,42));
}
}