import java.applet.*;
import java.awt.*;

public class m0104464_02 extends Applet {
	public void paint (Graphics g){
    	int vsize = 480;

        int x, y, R, G, B;

        //模様替え用変数。分かりやすいように１行ずつ初期化
        int T1r = 200, T1g = 200, T1b = 200;
        int T2r = 255, T2g = 0, T2b = 0;
        int Y1r = 0, Y1g = 0, Y1b = 0;
        int Y2r = 100, Y2g = 0, Y2b = 0;
        int Ymeri = 30, Tmeri = 50;			//太い縞の濃淡メリハリ値
        int SshimaT = 1, SshimaY = 1;		//基本縞の幅
        int BshimaT = 60, BshimaY = 60;		//太い縞の幅
        int Trimeri = 30;					//斜め縞の濃淡メリハリ値　０にすれば斜め線が入らない仕組み
		int Tri1x = 0, Tri1y = 0;			//斜め縞一つ目
		int Tri2x = 100, Tri2y = 0;			//斜め縞二つ目
		int Tri3x = 200, Tri3y = 0;			//斜め縞三つ目


		for(x = 0; x < vsize; x++){
			for(y = 0; y < vsize; y++){

				// *** BEGIN YOUR PROGRAM *** //

				//基本横縞
				if( (y / SshimaY) % 2 == 0 ){
					R = Y2r;
                	G = Y2g;
                	B = Y2b;
                }else{
					R = Y1r;
                	G = Y1g;
                	B = Y1b;
				}

				//基本縦縞
				if( (x / SshimaT) % 2 == 0){
					R = (R + T2r) / 2;
                	G = (G + T2g) / 2;
                	B = (B + T2b) / 2;
				}else{
					R = (R + T1r) / 2;
					G = (G + T1g) / 2;
					B = (B + T1b) / 2;
				}

				//太い横縞
				if( (y / BshimaY) % 2 == 0 ){
					if( (R - Ymeri) > 0){
						R = R - Ymeri;
					}else{
						R = 0;
					}
					if( (G - Ymeri) > 0){
						G = G - Ymeri;
					}else{
						G = 0;
					}
					if( (B - Ymeri) > 0){
						B = B - Ymeri;
					}else{
						B = 0;
					}
				}

				//太い縦縞
				if( (x / BshimaT) % 2 == 0 ){
					if( (R - Tmeri) > 0){
						R = R - Tmeri;
					}else{
						R = 0;
					}
					if( (G - Tmeri) > 0){
						G = G - Tmeri;
					}else{
						G = 0;
					}
					if( (B - Tmeri) > 0){
						B = B - Tmeri;
					}else{
						B = 0;
					}
				}

				//斜め縞
				if(y + Tri1y > x + Tri1x){
					if( (R - Trimeri) > 0){
						R = R - Trimeri;
					}else{
						R = 0;
					}
					if( (G - Trimeri) > 0){
						G = G - Trimeri;
					}else{
						G = 0;
					}
					if( (B - Trimeri) > 0){
						B = B - Trimeri;
					}else{
						B = 0;
					}
				}
				if(y + Tri2y > x + Tri2x){
					if( (R - Trimeri) > 0){
						R = R - Trimeri;
					}else{
						R = 0;
					}
					if( (G - Trimeri) > 0){
						G = G - Trimeri;
					}else{
						G = 0;
					}
					if( (B - Trimeri) > 0){
						B = B - Trimeri;
					}else{
						B = 0;
					}
				}
				if(y + Tri3y > x + Tri3x){
					if( (R - Trimeri) > 0){
						R = R - Trimeri;
					}else{
						R = 0;
					}
					if( (G - Trimeri) > 0){
						G = G - Trimeri;
					}else{
						G = 0;
					}
					if( (B - Trimeri) > 0){
						B = B - Trimeri;
					}else{
						B = 0;
					}
				}

                // *** END YOUR PROGRAM *** //
				g.setColor(new Color(R,G,B));
				g.fillRect(x,y,x,y);
            }
        }
    }
}
