
import java.applet.*;
import java.awt.*;

public class EX0101 extends Applet {
	public void paint(Graphics g) {
		int vsize = 480;
		int x, y, R, G, B;
		double X1, X2, X3, X4, X5;
		double Y1, Y2, Y3, Y4, Y5;
		double Z1, Z2, Z3, Z4,Z5,Z6, Z7, Z8, Z9, Z10, Z11, Z12, Z13, Z14, Z15, Z16, Z17,Z18,Z19,Z20,Z21,Z22,Z23;
		int Za, Zb, Zc, Zd, Ze;
		double Zw1,Zw2,Zw3,Zw4;


		for(x = 0; x < vsize; x++){

			for(y = 0; y < vsize; y++){

				R=0;
				G=0;
				B=0;

				//蚊



				//中心

				X1 = (double)x%120-60;
				Y1 = (double)y%120-60;

				Z1 = -(X1*X1) + 60*60;
				Z2 = -(Y1*Y1) + 60*60;
				Z3 = Z1+Z2;
				Za = (int)Z3/4;
				//Za = Za*5;//Za : 0→250 (中心→外)
				//Za = Za*4;


				R = Za%100;
				G = 150-Za%150;
				B = Za%77;
				if(Z3>(60*60*2)-50){
					R=0;
					G=0;
					B=50;
				}
				//羽(縦)
				X2 = (double)(x+5)%10-5;
				Y2 = (double)y%60-30;

				Z4 = -(X2*X2) + 5*5;
				Z5 = -(Y2*Y2) + 30*30;
				Z4 = Z4*6*6;
				Z6 = Z4+Z5;
				Zb = (int)Z6-((30*30*2)-500);
				Zb = Zb/2;//Zb : 0→250（中心→外）
				if(Z6>30*30*2-500){
					if(((x%60>=55)||(x%60<=5))^((x%120>=115)||(x%120<=5))){
						R = 250;
						G = Zb*2/3;
						B = 100 +Zb/3;
					}
				}
				//羽(横)
				X3 = (double)x%60-30;
				Y3 = (double)(y+5)%10-5;

				Z7 = -(X3*X3) + 30*30;
				Z8 = -(Y3*Y3) + 5*5;
				Z8 = Z8*6*6;
				Z9 = Z7+Z8;
				Zc = (int)Z9-((30*30*2)-500);
				Zc = Zc/2;//Zc : 0→250（中心→外）
				if(Z9>30*30*2-500){
					if(((y%60>=55)||(y%60<=5))^((y%120>=115)||(y%120<=5))){
						R = (Zc*3)%100;
						G = Zc;
						B = 120 + Zc/2;

					}
				}
				//羽(右下斜め)  (Z10〜)
				//X4 = (double)x%30-15;
				//Y4 = (double)y%5-2.5;
				//Y4 = Y4*6;
				Z10 = (double)x + (double)y;//Z10 : 0→960
				Z11 = (double)x - (double)y + 480+10;//Z11 : 0→960
				Z12 = Z10%120-60;
				Z12 = Z12/2;
				Z13 = Z11%20-10;
				Z13 = Z13*3;//Z12,Z13 : -30→30
				Z14 = -Z12*Z12 + 900;
				Z15 = -Z13*Z13 + 900; // Z14, Z15 : 0→900
				Z16 = Z14+Z15; // Z16 : 0→1800
				Zd = (int)Z16 - (30*30*2-250);//Zd
				if(Z16 > 30*30*2-250){
					if(((Z11-5)%120<=10)||((Z11-5)%120>=115)){
						G = 250;
						B = Zd*2/3;
						R = 100 +Zd/2;
					}
				}
				//羽(右上斜め)  (Z17〜)

				Z18 = (double)x + (double)y+10;//Z17 : 0→960
				Z17 = (double)x - (double)y + 480;//Z18 : 0→960
				Z19 = Z17%120-60;
				Z19 = Z19/2;
				Z20 = Z18%20-10;
				Z20 = Z20*3;//Z19,Z20 : -30→30
				Z21 = -Z19*Z19 + 900;
				Z22 = -Z20*Z20 + 900; // Z21, Z22 : 0→900
				Z23 = Z21+Z22; // Z23 : 0→1800
				Ze = (int)Z23 - (30*30*2-250);//Ze
				if(Z23 > 30*30*2-250){
					if(((Z18-5)%120<=10)||((Z18-5)%120>=115)){
						G = 200;
						R = Ze;
						B = Ze;
					}
				}

				//ウェ〜ブ

				Zw1 = x%50;
				Zw2 = (Math.sin(((double)(y)/480)*Math.PI*2*10)+1)*5;

				Zw3 =(Zw1+Zw2);
				Zw4 = Zw3*10;

				R+=((int)Zw4%250)/3;
				G-=((int)Zw4%250)/3;
				if(R >=256){
					R = 255;
				}
				if(G<=0){
					G=0;
				}


				//ウェ〜ブ２
				Zw1 = y%50;
				Zw2 = (Math.sin(((double)(x)/480)*Math.PI*2*10)+1)*5;

				Zw3 =(Zw1+Zw2);
				Zw4 = Zw3*10;
				R +=((int)Zw4%250)/4;
				G +=((int)Zw4%250)/4;
				if(G >= 256){
					G = 255;
				}
				if(R >= 256){
					R = 255;
				}


				if(Z3>(60*60*2)-50){
					R=(Za%7)*30;;
					G= (Za%7)*30;
					B=(Za%7)*36;
				}
				//R = (int)Z16%255;
				//G=0;
				//B=0;


				// *** END YOUR PROGRAM *** //

				g.setColor(new Color(R,G,B));
				g.fillRect(x,y,x,y);

			}
		}

	}
}