#include <stdio.h>
#define high 32
#define yoko 64

int screen[high][yoko];

void draw_fractal(int x, int y, int size) {
    if (size == 1) {
        screen[y][x] = 'X';
        return;
    }

    int half = size / 2;

    // 3つの小さな三角形に分割
    draw_fractal(x, y, half);
    draw_fractal(x - half, y + half, half);
    draw_fractal(x + half, y + half, half);
}

int main(void) {
    // 1. 空白で初期化
    for (int y = 0; y < high; y++) {
        for (int x = 0; x < yoko; x++) {
            screen[y][x] = ' ';
        }
    }

    draw_fractal(32, 0, high);

    // 3. 画面に出力
    for (int y = 0; y < high; y++) {
        for (int x = 0; x < yoko; x++) {
            putchar(screen[y][x]);
        }
        putchar('\n');
    }

    return 0;
}