// 0. Figure out math
// 1. add line method
// 2. add top half
// 3. copy bottom half
// 4. experiment with size, would need to make changes

public class MirrorDone {

	final static int SIZE = 4;

	public static void main(String[] args) {
		line();
		topHalf();
		bottomHalf();
		line();
	}

	// print line at top and bottom of mirror
	private static void line() {
		System.out.print("#");
		for (int i = 0; i < 16; i++) {
			System.out.print("=");
		}
		System.out.println("#");
	}

	// print top half of mirror
	public static void topHalf() {
		// loop one time for each line
		for (int line = 1; line <= SIZE; line++) {
			System.out.print("|");
			// draw spaces
			for (int i = 1; i <= ((-2 * line) + 8); i++) {
				System.out.print(" ");
			}
			System.out.print("<>");
			// draw dots
			for (int i = 1; i <= ((line - 1) * 4); i++) {
				System.out.print(".");
			}
			System.out.print("<>");
			// draw spaces;
			for (int i = 1; i <= ((-2 * line) + 8); i++) {
				System.out.print(" ");
			}
			System.out.println("|");
		}
	}

	// print bottom half of mirror
	public static void bottomHalf() {
		// loop once for each line
		for (int line = 1; line <= SIZE; line++) {
			System.out.print("|");
			// draw spaces
			for (int i = ((line - 1) * 2); i >= 1; i--) {
				System.out.print(" ");
			}
			System.out.print("<>");
			// draw dots
			for (int i = ((SIZE - line) * 4); i >= 1; i--) {
				System.out.print(".");
			}
			System.out.print("<>");
			// draw spaces;
			for (int i = ((line - 1) * 2); i >= 1; i--) {
				System.out.print(" ");
			}
			System.out.println("|");
		}
	}
}
