
import jp.ac.teu.media.*;

public class M0103196 extends TMLib {
	final static int vsize = 480;

	public static void main(String[] args) {
		begin(new M0103196(), vsize, vsize);
	}

	public void Main() {
		int x, y, R, G, B;
		int i;
		double X, sX, wX, dX, Y, sY, wY, dY, Z1, Z2, Z3;
		double[] a = new double[7];
		TMLibImage img = new TMLibImage();
		img.newImage(vsize, vsize);

		// *** BEGIN WINDOW *** //

		sX = -50.0;
		sY = -50.0;
		wX = 100.0;
		wY = wX;

		// *** END WINDOW *** //

		dX = wX / (double) vsize;
		dY = wY / (double) vsize;

		for (x = 0; x < vsize; x++) {
			X = sX + dX * (double) x;

			for (y = 0; y < vsize; y++) {
				Y = sY + dY * (double) y;

				// *** BEGIN YOUR PROGRAM *** //

				Z1 = X * X + Y * Y / 5;
				Z2 = -(X * X) + (Y * Y);
				Z3 = Y * X * X + Y * Y * X;

				R = (int) Z1 % 256;
				G = (int) Z2 % 256;
				B = (int) Z3 % 256;

				for (i = 0; i < 7; i++) {
					a[i] = (i * i * i) / (X / Y);
					R += (int) (a[i] % 64);
					G += (int) (a[i] % 64);
					B += (int) (a[i] % 64);
				}

				// *** END YOUR PROGRAM *** //

				img.setRGB(x, y, R, G, B);

			}
		}

		drawImage(0, 0, img);
		img.writeImage("M0103196.bmp");
	}
}