import java.awt.*;
import java.applet.*;

public class Dragon extends Applet {
  public void paint(Graphics g) { 
    g.setColor(Color.red);
    drawDragon(g, 20, 100, 100, 200, 200);    
    g.setColor(Color.white);
    g.fillRect(50,250,200,250);
    g.setColor(Color.blue);
    for (int n = 1; n < 12; n++) {
      if (n > 1) {
	g.setColor(Color.black);
	drawDragon(g, n-1, 100, 350, 200, 450);
	g.setColor(Color.blue);
      }
      drawDragon(g, n, 100, 350, 200, 450);
      try { System.in.read(); } catch(Exception e) {}
      g.setColor(Color.white);
      g.fillRect(50,250,200,250);
      g.setColor(Color.blue);
    }
    System.out.println("Fait.");
  }
  static void drawDragon (Graphics g, int n, int x, int y, int z, int t) { 
    int u, v;
    if (n == 1) 
      g.drawLine (x, y, z, t);
    else {
      u = (x + z + t - y) / 2;
      v = (y + t + x - z ) / 2;
      drawDragon (g, n - 1, x, y, u, v);
      drawDragon (g, n - 1, z, t, u, v);
    }
  }
}

