import java.util.*;
import java.io.*;

public class Gen {
	FastScanner in;
	PrintWriter out;

	private int done = 0;
	private int donePreliminary = 0;

	final static Random rng = new Random(191919);

	void print(int a, int b, int alpha) {
		String filename = "" + (done + 1);
		if (done < 9) {
			filename = "0" + filename;
		}
		PrintWriter out = null;
		try {
			out = new PrintWriter(new File("..\\tests\\" + filename));
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		out.printf("%.3f %.3f %.3f\r\n", a * 0.001,  b * 0.001, alpha * 0.001);
		out.close();
		done++;
		System.out.println(done);
	}

	void printPrelim(int a, int b, int alpha) {
		String filename = "" + (donePreliminary + 1);
		if (donePreliminary < 9) {
			filename = "0" + filename;
		}
		PrintWriter out = null;
		try {
			out = new PrintWriter(new File("../preliminary/" + filename));
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		out.printf("%.3f %.3f %.3f\r\n", a * 0.001,  b * 0.001, alpha * 0.001);
		out.close();
		donePreliminary++;
		System.out.println(donePreliminary);
	}

	public void solve() {
		Locale.setDefault(Locale.US);
		File testDir = new File("..\\tests");
		if (!testDir.exists()) {
			testDir.mkdir();
		}
		testDir = new File("..\\preliminary");
		if (!testDir.exists()) {
			testDir.mkdir();
		}

		printPrelim(1500, 1500, 90000);

		// FIRST GROUP - 5 (CUBES) - [1; 1]
		print(19783, 19783, 90000);

		// SECOND GROUP - 15 (RECTANGLES) - [2; 4]
		print(997783, 1003, 90000);
		print(994532, 1017, 90000);
		print(44933, 44588, 90000);

		// THIRD GROUP - 20 (RHOMBUS) - [5; 19]
		int[] anglesThird = new int[] { 57443, 37543, 45238, 89433, 3 };
		for (int x : anglesThird) {
			print(1183, 1183, x);
			print(994532, 994532, x);
			print(44588, 44588, x);
		}

		// FOUR GROUP - 60 (30 tests) [20; 49]
		int[] anglesFour = new int[] { 67443, 27542, 48232, 88890, 7 };
		for (int x : anglesFour) {
			print(1383, 1183, x);
			print(994532, 1183, x);
			print(994532, 44588, x);
			print(996532, 994532, x);
			print(44588, 1183, x);
			print(46588, 44588, x);
		}

	}

	public void run() {
		try {
			out = new PrintWriter(new File("ellipse.in"));

			solve();

			out.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	class FastScanner {
		BufferedReader br;
		StringTokenizer st;

		FastScanner(File f) {
			try {
				br = new BufferedReader(new FileReader(f));
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			}
		}

		String next() {
			while (st == null || !st.hasMoreTokens()) {
				try {
					st = new StringTokenizer(br.readLine());
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			return st.nextToken();
		}

		int nextInt() {
			return Integer.parseInt(next());
		}

		long nextLong() {
			return Long.parseLong(next());
		}

		double nextDouble() {
			return Double.parseDouble(next());
		}

	}

	public static void main(String[] arg) {
		new Gen().run();
	}
}