import java.util.*;
import java.lang.*;

public class dd {

	public static void main(String[] args) {
	String vstup,cast="0";
	int pozice,zacatek=0,cislo,i,j;
	String[][] pole = new String[39][7];
	Scanner sc = new Scanner(System.in);
	do {
	vstup = sc.next();
	if (vstup.equals("end")==false) {
		
		for(i=0; i<7; i++) {
			for(j=0; j<39;j++) {
				pole[j][i] = " ";
			}
		}

		for(pozice=0;pozice<4;pozice++) {
			switch(pozice) {
				case 0:
					zacatek=0;
					cast = vstup.substring(0,1);
				break;
				case 1:
					zacatek=7;
					cast = vstup.substring(1,2);
				break;
				case 2:
					zacatek=17;
					cast = vstup.substring(3,4);
				break;
				case 3:
					zacatek=24;
					cast = vstup.substring(4,5);
				break;
			}

		cislo = Integer.valueOf(cast).intValue();
		switch(cislo) {
			case 1:
				pole[zacatek+4][0] = "+";
				pole[zacatek+4][1] = "|";
				pole[zacatek+4][2] = "|";
				pole[zacatek+4][3] = "+";
				pole[zacatek+4][4] = "|";
				pole[zacatek+4][5] = "|";
				pole[zacatek+4][6] = "+";
			break;

			case 2:
				pole[zacatek][0] = "+";
				pole[zacatek+1][0] = "-";
				pole[zacatek+2][0] = "-";
				pole[zacatek+3][0] = "-";
				pole[zacatek+4][0] = "+";
				pole[zacatek+4][1] = "|";
				pole[zacatek+4][2] = "|";
				pole[zacatek][3] = "+";
				pole[zacatek+1][3] = "-";
				pole[zacatek+2][3] = "-";
				pole[zacatek+3][3] = "-";
				pole[zacatek+4][3] = "+";
				pole[zacatek][4] = "|";
				pole[zacatek][5] = "|";
				pole[zacatek][6] = "+";
				pole[zacatek+1][6] = "-";
				pole[zacatek+2][6] = "-";
				pole[zacatek+3][6] = "-";
				pole[zacatek+4][6] = "+";

			break;


			case 3:
				pole[zacatek][0] = "+";
				pole[zacatek+1][0] = "-";
				pole[zacatek+2][0] = "-";
				pole[zacatek+3][0] = "-";
				pole[zacatek+4][0] = "+";
				pole[zacatek+4][1] = "|";
				pole[zacatek+4][2] = "|";
				pole[zacatek][3] = "+";
				pole[zacatek+1][3] = "-";
				pole[zacatek+2][3] = "-";
				pole[zacatek+3][3] = "-";
				pole[zacatek+4][3] = "+";
				pole[zacatek+4][4] = "|";
				pole[zacatek+4][5] = "|";
				pole[zacatek][6] = "+";
				pole[zacatek+1][6] = "-";
				pole[zacatek+2][6] = "-";
				pole[zacatek+3][6] = "-";
				pole[zacatek+4][6] = "+";

			break;


			case 4:
				pole[zacatek][0] = "+";
				pole[zacatek+4][0] = "+";
				pole[zacatek][1] = "|";
				pole[zacatek+4][1] = "|";
				pole[zacatek][2] = "|";
				pole[zacatek+4][2] = "|";
				pole[zacatek][3] = "+";
				pole[zacatek+1][3] = "-";
				pole[zacatek+2][3] = "-";
				pole[zacatek+3][3] = "-";
				pole[zacatek+4][3] = "+";
				pole[zacatek+4][4] = "|";
				pole[zacatek+4][5] = "|";
				pole[zacatek+4][6] = "+";
			break;


			case 5:
				pole[zacatek][0] = "+";
				pole[zacatek+1][0] = "-";
				pole[zacatek+2][0] = "-";
				pole[zacatek+3][0] = "-";
				pole[zacatek+4][0] = "+";
				pole[zacatek][1] = "|";
				pole[zacatek][2] = "|";
				pole[zacatek][3] = "+";
				pole[zacatek+1][3] = "-";
				pole[zacatek+2][3] = "-";
				pole[zacatek+3][3] = "-";
				pole[zacatek+4][3] = "+";
				pole[zacatek+4][4] = "|";
				pole[zacatek+4][5] = "|";
				pole[zacatek][6] = "+";
				pole[zacatek+1][6] = "-";
				pole[zacatek+2][6] = "-";
				pole[zacatek+3][6] = "-";
				pole[zacatek+4][6] = "+";

			break;

			case 6:
				pole[zacatek][0] = "+";
				pole[zacatek+1][0] = "-";
				pole[zacatek+2][0] = "-";
				pole[zacatek+3][0] = "-";
				pole[zacatek+4][0] = "+";
				pole[zacatek][1] = "|";
				pole[zacatek][2] = "|";
				pole[zacatek][3] = "+";
				pole[zacatek+1][3] = "-";
				pole[zacatek+2][3] = "-";
				pole[zacatek+3][3] = "-";
				pole[zacatek+4][3] = "+";
				pole[zacatek+4][4] = "|";
				pole[zacatek+4][5] = "|";
				pole[zacatek][4] = "|";
				pole[zacatek][5] = "|";
				pole[zacatek][6] = "+";
				pole[zacatek+1][6] = "-";
				pole[zacatek+2][6] = "-";
				pole[zacatek+3][6] = "-";
				pole[zacatek+4][6] = "+";

			break;


			case 7:
				pole[zacatek][0] = "+";
				pole[zacatek+1][0] = "-";
				pole[zacatek+2][0] = "-";
				pole[zacatek+3][0] = "-";
				pole[zacatek+4][0] = "+";
				pole[zacatek+4][1] = "|";
				pole[zacatek+4][2] = "|";
				pole[zacatek+4][3] = "+";
				pole[zacatek+4][4] = "|";
				pole[zacatek+4][5] = "|";
				pole[zacatek+4][6] = "+";

			break;


			case 8:
				pole[zacatek][0] = "+";
				pole[zacatek+1][0] = "-";
				pole[zacatek+2][0] = "-";
				pole[zacatek+3][0] = "-";
				pole[zacatek+4][0] = "+";
				pole[zacatek][1] = "|";
				pole[zacatek][2] = "|";
				pole[zacatek+4][1] = "|";
				pole[zacatek+4][2] = "|";
				pole[zacatek][3] = "+";
				pole[zacatek+1][3] = "-";
				pole[zacatek+2][3] = "-";
				pole[zacatek+3][3] = "-";
				pole[zacatek+4][3] = "+";
				pole[zacatek+4][4] = "|";
				pole[zacatek+4][5] = "|";
				pole[zacatek][4] = "|";
				pole[zacatek][5] = "|";
				pole[zacatek][6] = "+";
				pole[zacatek+1][6] = "-";
				pole[zacatek+2][6] = "-";
				pole[zacatek+3][6] = "-";
				pole[zacatek+4][6] = "+";

			break;


			case 9:

				pole[zacatek][0] = "+";
				pole[zacatek+1][0] = "-";
				pole[zacatek+2][0] = "-";
				pole[zacatek+3][0] = "-";
				pole[zacatek+4][0] = "+";
				pole[zacatek][1] = "|";
				pole[zacatek][2] = "|";
				pole[zacatek+4][1] = "|";
				pole[zacatek+4][2] = "|";
				pole[zacatek][3] = "+";
				pole[zacatek+1][3] = "-";
				pole[zacatek+2][3] = "-";
				pole[zacatek+3][3] = "-";
				pole[zacatek+4][3] = "+";
				pole[zacatek+4][4] = "|";
				pole[zacatek+4][5] = "|";
				pole[zacatek][6] = "+";
				pole[zacatek+1][6] = "-";
				pole[zacatek+2][6] = "-";
				pole[zacatek+3][6] = "-";
				pole[zacatek+4][6] = "+";
			break;


			case 0:

				pole[zacatek][0] = "+";
				pole[zacatek+1][0] = "-";
				pole[zacatek+2][0] = "-";
				pole[zacatek+3][0] = "-";
				pole[zacatek+4][0] = "+";
				pole[zacatek][1] = "|";
				pole[zacatek][2] = "|";
				pole[zacatek+4][1] = "|";
				pole[zacatek+4][2] = "|";
				pole[zacatek][3] = "+";
				pole[zacatek+4][3] = "+";
				pole[zacatek+4][4] = "|";
				pole[zacatek+4][5] = "|";
				pole[zacatek][4] = "|";
				pole[zacatek][5] = "|";
				pole[zacatek][6] = "+";
				pole[zacatek+1][6] = "-";
				pole[zacatek+2][6] = "-";
				pole[zacatek+3][6] = "-";
				pole[zacatek+4][6] = "+";
			break;



		}

				pole[14][2] = "o";
				pole[14][4] = "o";
			}

		for(i=0; i<7; i++) {
			for(j=0; j<39;j++) {
				System.out.print(pole[j][i]);
			}
			System.out.println();
		}
			System.out.println();
			System.out.println();			
	} else {
System.out.println("end");
}

	} while(vstup.equals("end")==false);

	}

}
