#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<string>
#include<vector>
#include<deque>
#include<set>
#include<map>
#include<sstream>

using namespace std;

#define PB push_back()
#define SZ(x) ((int)x.size())
#define PI 3.141592653589
#define REP(i,N) for(int(i)=0;(i)<(int)(N);++(i))

string s[10][7]=
{
	{
		"+---+",
		"|   |",
		"|   |",
		"+   +",
		"|   |",
		"|   |",
		"+---+",
	},
	{
		"    +",
		"    |",
		"    |",
		"    +",
		"    |",
		"    |",
		"    +",
	},
	{
		"+---+",
		"    |",
		"    |",
		"+---+",
		"|    ",
		"|    ",
		"+---+",
	},
	{
		"+---+",
		"    |",
		"    |",
		"+---+",
		"    |",
		"    |",
		"+---+",
	},
	{
		"+   +",
		"|   |",
		"|   |",
		"+---+",
		"    |",
		"    |",
		"    +",
	},
	{
		"+---+",
		"|    ",
		"|    ",
		"+---+",
		"    |",
		"    |",
		"+---+",
	},
	{
		"+---+",
		"|    ",
		"|    ",
		"+---+",
		"|   |",
		"|   |",
		"+---+",
	},
	{
		"+---+",
		"    |",
		"    |",
		"    +",
		"    |",
		"    |",
		"    +",
	},
	{
		"+---+",
		"|   |",
		"|   |",
		"+---+",
		"|   |",
		"|   |",
		"+---+",
	},
	{
		"+---+",
		"|   |",
		"|   |",
		"+---+",
		"    |",
		"    |",
		"+---+",
	},
};

int main()
{
	string x;
	while(cin>>x,x!="end")
	{
		int a,b,c,d;
		a=x[0]-'0';
		b=x[1]-'0';
		c=x[3]-'0';
		d=x[4]-'0';
		REP(i,7)
		{
			cout<<s[a][i]<<"  ";
			cout<<s[b][i]<<"  ";
			if (i==2||i==4) cout<<"o";
			else cout<<" ";
			cout<<"  ";
			cout<<s[c][i]<<"  ";
			cout<<s[d][i]<<endl;
		}
		cout<<endl<<endl;
	}
	puts("end");
	return 0;
}
