← Home
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var k int
	fmt.Fscan(in, &k)

	a := [][]byte{[]byte{'+'}}
	for step := 0; step < k; step++ {
		n := len(a)
		b := make([][]byte, n*2)
		for i := 0; i < n*2; i++ {
			b[i] = make([]byte, n*2)
		}
		for i := 0; i < n; i++ {
			for j := 0; j < n; j++ {
				b[i][j] = a[i][j]
				b[i][j+n] = a[i][j]
				b[i+n][j] = a[i][j]
				if a[i][j] == '+' {
					b[i+n][j+n] = '*'
				} else {
					b[i+n][j+n] = '+'
				}
			}
		}
		a = b
	}

	for i := 0; i < len(a); i++ {
		fmt.Fprintln(out, string(a[i]))
	}
}