public class Program{

public static void drawCircle(Turtle t, double radius, double x, double y, String color) {
   t.penColor(color);
   t.up(); t.setPosition(x , y + radius); t.down();
		for (int i = 0; i < 360; i++) {
			t.forward(radius * 2 * Math.PI / 360);
			t.right(1);
       }
}
public static void drawSquare(Turtle t, double size, double x, double y, double rotation, String color) {
    t.penColor(color);
	  t.up();
    t.setPosition(x - size/2, y + size/2);
    rotation = rotation % 90;
    double radius = Math.sqrt(2) * size / 2;
    if (rotation > 0 ) t.left(45);
	  for (int i = 0; i < rotation; i++) {
			t.forward(radius * 2 * Math.PI / 360);
			t.right(1);
       }
	  t.down();
    if (rotation > 0) t.right(45);
    int turn = 90;
    t.forward( size ); t.right( turn );
    t.forward( size ); t.right( turn );
    t.forward( size ); t.right( turn );
    t.forward( size ); t.right( turn );
    t.left( rotation );
}
public static void drawTriangle(Turtle t, double size, double x, double y, double rotation, String color) {
    t.penColor(color);
    t.up(); t.setPosition(x - size/2, y + Math.sqrt(3)*size/6);
    rotation = rotation % 120;
    double radius = size / Math.sqrt(3);
    if (rotation > 0) t.left(60);
    for (int i = 0; i < rotation; i++) {
      t.forward(radius*2*Math.PI / 360); t.right(1);
    }
    t.down(); if (rotation > 0) t.right(60); int turn = 120;
    t.forward(size); t.right(turn);
    t.forward(size); t.right(turn);
    t.forward(size); t.right(turn);
    t.left( rotation );
}
  public static void main(String[] args) {

    Turtle t = new Turtle();
    t.hide();
    t.speed(0);
    drawTriangle(t,200.,-70.7109126647,70.7104435718,315.,"red");
    drawTriangle(t,200.,-99.9999999996,-0.00026535897938,270.,"red");
    drawTriangle(t,200.,-70.7105373907,-70.7108188464,225.,"red");
    drawTriangle(t,200.,0.000132679489668,-99.9999999999,180.,"red");
    drawTriangle(t,200.,70.7107250279,-70.7106312094,135.,"red");
    drawTriangle(t,200.,100.,0.,90.,"red");
    drawTriangle(t,200.,70.7107250279,70.7106312094,45.,"red");
    drawTriangle(t,200.,0.000132679489668,99.9999999999,0.,"red");
    drawTriangle(t,190.,-67.1753670314,67.1749213933,315.,"red");
    drawTriangle(t,190.,-94.9999999997,-0.000252091030411,270.,"red");
    drawTriangle(t,190.,-67.1750105211,-67.175277904,225.,"red");
    drawTriangle(t,190.,0.000126045515184,-94.9999999999,180.,"red");
    drawTriangle(t,190.,67.1751887765,-67.1750996489,135.,"red");
    drawTriangle(t,190.,95.,0.,90.,"red");
    drawTriangle(t,190.,67.1751887765,67.1750996489,45.,"red");
    drawTriangle(t,190.,0.000126045515184,94.9999999999,0.,"red");
    drawTriangle(t,180.,-63.6398213982,63.6393992147,315.,"red");
    drawTriangle(t,180.,-89.9999999997,-0.000238823081442,270.,"red");
    drawTriangle(t,180.,-63.6394836516,-63.6397369617,225.,"red");
    drawTriangle(t,180.,0.000119411540701,-89.9999999999,180.,"red");
    drawTriangle(t,180.,63.6396525251,-63.6395680884,135.,"red");
    drawTriangle(t,180.,90.,0.,90.,"red");
    drawTriangle(t,180.,63.6396525251,63.6395680884,45.,"red");
    drawTriangle(t,180.,0.000119411540701,89.9999999999,0.,"red");
    drawTriangle(t,170.,-60.104275765,60.1038770361,315.,"red");
    drawTriangle(t,170.,-84.9999999997,-0.000225555132473,270.,"red");
    drawTriangle(t,170.,-60.1039567821,-60.1041960194,225.,"red");
    drawTriangle(t,170.,0.000112777566218,-84.9999999999,180.,"red");
    drawTriangle(t,170.,60.1041162737,-60.104036528,135.,"red");
    drawTriangle(t,170.,85.,0.,90.,"red");
    drawTriangle(t,170.,60.1041162737,60.104036528,45.,"red");
    drawTriangle(t,170.,0.000112777566218,84.9999999999,0.,"red");
    drawTriangle(t,160.,-56.5687301317,56.5683548575,315.,"red");
    drawTriangle(t,160.,-79.9999999997,-0.000212287183504,270.,"red");
    drawTriangle(t,160.,-56.5684299125,-56.5686550771,225.,"red");
    drawTriangle(t,160.,0.000106143591734,-79.9999999999,180.,"red");
    drawTriangle(t,160.,56.5685800223,-56.5685049675,135.,"red");
    drawTriangle(t,160.,80.,0.,90.,"red");
    drawTriangle(t,160.,56.5685800223,56.5685049675,45.,"red");
    drawTriangle(t,160.,0.000106143591734,79.9999999999,0.,"red");
    drawTriangle(t,150.,-53.0331844985,53.0328326789,315.,"red");
    drawTriangle(t,150.,-74.9999999997,-0.000199019234535,270.,"red");
    drawTriangle(t,150.,-53.032903043,-53.0331141348,225.,"red");
    drawTriangle(t,150.,9.95096172508e-05,-74.9999999999,180.,"red");
    drawTriangle(t,150.,53.0330437709,-53.032973407,135.,"red");
    drawTriangle(t,150.,75.,0.,90.,"red");
    drawTriangle(t,150.,53.0330437709,53.032973407,45.,"red");
    drawTriangle(t,150.,9.95096172508e-05,74.9999999999,0.,"red");
    drawTriangle(t,140.,-49.4976388653,49.4973105003,315.,"red");
    drawTriangle(t,140.,-69.9999999998,-0.000185751285566,270.,"red");
    drawTriangle(t,140.,-49.4973761735,-49.4975731925,225.,"red");
    drawTriangle(t,140.,9.28756427674e-05,-69.9999999999,180.,"red");
    drawTriangle(t,140.,49.4975075195,-49.4974418465,135.,"red");
    drawTriangle(t,140.,70.,0.,90.,"red");
    drawTriangle(t,140.,49.4975075195,49.4974418465,45.,"red");
    drawTriangle(t,140.,9.28756427674e-05,69.9999999999,0.,"red");
    drawTriangle(t,130.,-45.962093232,45.9617883217,315.,"red");
    drawTriangle(t,130.,-64.9999999998,-0.000172483336597,270.,"red");
    drawTriangle(t,130.,-45.9618493039,-45.9620322501,225.,"red");
    drawTriangle(t,130.,8.6241668284e-05,-64.9999999999,180.,"red");
    drawTriangle(t,130.,45.9619712681,-45.9619102861,135.,"red");
    drawTriangle(t,130.,65.,0.,90.,"red");
    drawTriangle(t,130.,45.9619712681,45.9619102861,45.,"red");
    drawTriangle(t,130.,8.6241668284e-05,64.9999999999,0.,"red");
    drawTriangle(t,120.,-42.4265475988,42.4262661431,315.,"red");
    drawTriangle(t,120.,-59.9999999998,-0.000159215387628,270.,"red");
    drawTriangle(t,120.,-42.4263224344,-42.4264913078,225.,"red");
    drawTriangle(t,120.,7.96076938007e-05,-59.9999999999,180.,"red");
    drawTriangle(t,120.,42.4264350168,-42.4263787256,135.,"red");
    drawTriangle(t,120.,60.,0.,90.,"red");
    drawTriangle(t,120.,42.4264350168,42.4263787256,45.,"red");
    drawTriangle(t,120.,7.96076938007e-05,59.9999999999,0.,"red");
    drawTriangle(t,110.,-38.8910019656,38.8907439645,315.,"red");
    drawTriangle(t,110.,-54.9999999998,-0.000145947438659,270.,"red");
    drawTriangle(t,110.,-38.8907955649,-38.8909503655,225.,"red");
    drawTriangle(t,110.,7.29737193173e-05,-55.,180.,"red");
    drawTriangle(t,110.,38.8908987654,-38.8908471651,135.,"red");
    drawTriangle(t,110.,55.,0.,90.,"red");
    drawTriangle(t,110.,38.8908987654,38.8908471651,45.,"red");
    drawTriangle(t,110.,7.29737193173e-05,55.,0.,"red");
    drawTriangle(t,100.,-35.3554563323,35.3552217859,315.,"red");
    drawTriangle(t,100.,-49.9999999998,-0.00013267948969,270.,"red");
    drawTriangle(t,100.,-35.3552686953,-35.3554094232,225.,"red");
    drawTriangle(t,100.,6.63397448339e-05,-50.,180.,"red");
    drawTriangle(t,100.,35.355362514,-35.3553156047,135.,"red");
    drawTriangle(t,100.,50.,0.,90.,"red");
    drawTriangle(t,100.,35.355362514,35.3553156047,45.,"red");
    drawTriangle(t,100.,6.63397448339e-05,50.,0.,"red");
  }

}
