import java.util.Scanner;

public class dd
{
	public static String getChar(char znak, int radek)
	{
		switch (radek)
		{
			case 0:
				switch (znak)
				{
					case ':':
					return " ";
					
					case '0':
					case '2':
					case '3':
					case '5':
					case '6':
					case '7':
					case '8':
					case '9':
					return "+---+";
					
					case '1':
					return "    +";
					
					case '4':
					return "+   +";
				}
			break;
			
			case 1:
				switch (znak)
				{
					case ':':
					return " ";
					
					case '1':
					case '2':
					case '7':
					return "    |";
					
					case '3':
					return "    |";
					
					case '5':
					case '6':
					return "|    ";
					
					
					case '0':
					case '8':
					case '9':
					return "|   |";
					
					case '4':
					return "|   |";
				}
			break;
			
			case 2:
				switch (znak)
				{
					case ':':
					return "o";
					
					case '1':
					case '2':
					case '7':
					return "    |";
					
					case '3':
					return "    |";
					
					case '5':
					case '6':
					return "|    ";
					
					case '0':
					case '8':
					case '9':
					return "|   |";
					
					case '4':
					return "|   |";
				}
			break;
			
			case 3:
				switch (znak)
				{
					case ':':
					return " ";
					
					case '0':
					return "+   +";
					
					case '1':
					case '7':
					return "    +";
					
					case '2':
					case '3':
					case '4':
					case '5':
					case '6':
					case '8':
					case '9':
					return "+---+";
				}
			break;
			
			case 4:
				switch (znak)
				{
					case ':':
					return "o";
					
					case '1':
					return "    |";
					
					case '2':
					return "|    ";
					
					case '3':
					case '5':
					case '7':
					case '9':
					return "    |";
					
					case '0':
					case '6':
					case '8':
					return "|   |";
					
					case '4':
					return "    |";
				}
			break;
			
			case 5:
				switch (znak)
				{
					case ':':
					return " ";
					
					case '1':
					return "    |";
					
					case '2':
					return "|    ";
					
					case '3':
					case '5':
					case '7':
					case '9':
					return "    |";
					
					case '0':
					case '6':
					case '8':
					return "|   |";
					
					case '4':
					return "    |";
				}
			break;
			
			case 6:
				switch (znak)
				{
					case ':':
					return " ";
					
					case '0':
					return "+---+";
					
					case '1':
					case '4':
					case '7':
					return "    +";
					
					case '2':
					case '3':
					case '5':
					case '6':
					case '8':
					case '9':
					return "+---+";
				}
			break;
		}
		
		return "n";
	}
	
	public static void main(String args[])
	{
		int pole[][];
		
		Scanner sc = new Scanner(System.in);
		while(true)
		{
			String vstup;
			vstup = sc.nextLine();
			
			if (vstup.equals("end"))
			{
				break;
			}
			
			for (int i = 0; i < 7; i++)
			{
				String radek = "";
			
				for (int j = 0; j < vstup.length(); j++)
				{
					radek += getChar(vstup.charAt(j), i);
					if (j != 4) radek += "  ";
				}
			
				System.out.println(radek);
			}
		
			System.out.println();
			System.out.println();
		}
		System.out.println("end");
	}
}

