import java.util.*;


class dd {
	
	static int a, b, c, d;
	static int [] nums = new int[4];

	public static void printTop(){
		StringBuilder sb = new StringBuilder(29);
		for(int i=0; i<nums.length; i++){
			if(nums[i] > 4 || nums[i] == 0 || nums[i] == 2 || nums[i] == 3){
				sb.append("+---+");
			}

			if(nums[i] == 1){
				sb.append("    +");
			}

			if(nums[i] == 4){
				sb.append("+   +");
			}
			if(i == 1) sb.append("     ");
			if(i == 0 || i == 2) sb.append("  ");
		}
		System.out.println(sb.toString());
		
	}

	public static void printUpper(){
		StringBuilder sb = new StringBuilder(29);
		for(int i=0; i<nums.length; i++){
			if(nums[i] > 7 || nums[i] == 0 || nums[i] == 4){
				sb.append("|   |");
			}

			if(nums[i] == 1 || nums[i] == 3 || nums[i] == 2 || nums[i] == 7){
				sb.append("    |");
			}

			if(nums[i] == 6 || nums[i] == 5){
				sb.append("|    ");
			}
			if(i == 1) sb.append("     ");
			if(i == 0 || i == 2) sb.append("  ");
		}
		System.out.println(sb.toString());
	}

	public static void printUpperDot(){
		StringBuilder sb = new StringBuilder(29);
		for(int i=0; i<nums.length; i++){
			if(nums[i] > 7 || nums[i] == 0 || nums[i] == 4){
				sb.append("|   |");
			}

			if(nums[i] == 1 || nums[i] == 3 || nums[i] == 2 || nums[i] == 7){
				sb.append("    |");
			}

			if(nums[i] == 6 || nums[i] == 5){
				sb.append("|    ");
			}
			if(i == 1) sb.append("  o  ");
			if(i == 0 || i == 2) sb.append("  ");
		}
		System.out.println(sb.toString());
	}

	public static void printMiddle(){
		StringBuilder sb = new StringBuilder(29);
		for(int i=0; i<nums.length; i++){
			if(nums[i] == 5 || nums[i] == 4 || nums[i] == 2 || nums[i] == 3 || nums[i] == 6 || nums[i] > 7){
				sb.append("+---+");
			}

			if(nums[i] == 1 || nums[i] == 7){
				sb.append("    +");
			}
			if(nums[i] == 0){
				sb.append("+   +");
			}
			if(i == 1) sb.append("     ");
			if(i == 0 || i == 2) sb.append("  ");
		}
		System.out.println(sb.toString());
	}

	public static void printLowerDot(){
		StringBuilder sb = new StringBuilder(29);
		for(int i=0; i<nums.length; i++){
			if(nums[i] == 6 || nums[i] == 0 || nums[i] == 8){
				sb.append("|   |");
			}

			if(nums[i] == 1 || nums[i] == 7 || nums[i] == 3 || nums[i] == 4 || nums[i] == 5 || nums[i] == 9){
				sb.append("    |");
			}

			if(nums[i] == 2){
				sb.append("|    ");
			}

			if(i == 1) sb.append("  o  ");
			if(i == 0 || i == 2) sb.append("  ");
		}
		System.out.println(sb.toString());
	}

	public static void printLower(){
		StringBuilder sb = new StringBuilder(29);
		for(int i=0; i<nums.length; i++){
			if(nums[i] == 6 || nums[i] == 0 || nums[i] == 8){
				sb.append("|   |");
			}

			if(nums[i] == 1 || nums[i] == 7 || nums[i] == 3 || nums[i] == 4 || nums[i] == 5 || nums[i] == 9){
				sb.append("    |");
			}

			if(nums[i] == 2){
				sb.append("|    ");
			}

			if(i == 1) sb.append("     ");
			if(i == 0 || i == 2) sb.append("  ");
		}
		System.out.println(sb.toString());
	}

	public static void printBottom(){
		StringBuilder sb = new StringBuilder(29);
		for(int i=0; i<nums.length; i++){
			if(nums[i] == 3 || nums[i] == 0 || nums[i] == 2 || nums[i] == 5 || nums[i] == 6 || nums[i] > 7){
				sb.append("+---+");
			}

			if(nums[i] == 1 || nums[i] == 4 || nums[i] == 7){
				sb.append("    +");
			}
			if(i == 1) sb.append("     ");
			if(i == 0 || i == 2) sb.append("  ");
		}
		System.out.println(sb.toString());
	}

	public static void main(String [] args){
		Scanner sc = new Scanner(System.in);
		String line;
		
		
		while(true){
			line = sc.nextLine();
			if(line.equals("end")) {System.out.println(line); break;};
			line = line.replace(":", "");			

			nums[0] = Integer.parseInt(line.substring(0,1));
			nums[1] = Integer.parseInt(line.substring(1,2));
			nums[2] = Integer.parseInt(line.substring(2,3));
			nums[3] = Integer.parseInt(line.substring(3,4));

			printTop();
						printUpper();
			printUpperDot();
		printMiddle();
		printLowerDot();
		printLower();
		printBottom();	
		System.out.println();
			System.out.println();		
		}

	}	
	
}
