#include <iostream>
#include <random>

bool ShowTree(std::size_t N){
#if 0 //select auther's matching or parfect random 
	//いやー、ローカルで綺麗なツリーになかなかならなかったので手動指定しましたがalgorithmはランダム方面です。
	std::random_device rd;
	std::mt19937 mt(rd());
#else
	std::mt19937 mt(1);
#endif
	std::discrete_distribution<> dd = { 63, 1, 1, 1, 1, 1, 1, 1, };
	std::string Dec = "*NiXJo%b";

	for (std::size_t j = 0; j < N; j++)	std::cout << ' ';
	std::cout << "★";
	for (std::size_t i = 0; i < N+1; i++){
		for (std::size_t j = i-1; j < N; j++)	std::cout << ' ';
		for (std::size_t j = 0; j < (i * 2); j++) std::cout << Dec[dd(mt)];
		std::cout << std::endl;
	}
		for (std::size_t j = 0; j < N; j++)	std::cout << ' ';
		std::cout<<"||"<<std::endl;

		return true;
}

int main(){
	for (int i = 0; i < 7; i++){
		ShowTree(i);
	}

	return 0;
}