/*
TASK:trains
LANG:C++
*/
#include<iostream>
using namespace std;
int main()
{
    char a[9][50];
    int p,c,f,m,n,k;
    for (int j=0;j<9;j++)
    for (int c=0;c<50;c++)
    a[j][c]='#';
    cin>>n>>m;
    for (k=0;k<n;k++)
    {
        cin>>p>>c>>f;
        if (p!=0)
        for (int i=p-1;i<m;i=i+5)
        {
            if (i==p-1) 
            {
                       a[k][i]='(';
                       a[k][i+1]='H';
                       a[k][i+2]=' ';
                       a[k][i+3]='H';
                       a[k][i+4]=']';
                       continue;
            }
            if (c!=0) 
            {
                       a[k][i]='(';
                       a[k][i+1]='X';
                       a[k][i+2]='X';
                       a[k][i+3]='X';
                       a[k][i+4]=')';
                       c--;
                       continue;
            }
            if (f!=0) 
            {
                       a[k][i]='(';
                       a[k][i+1]='O';
                       a[k][i+2]=' ';
                       a[k][i+3]='O';
                       a[k][i+4]=')';
                       f--;
                       continue;
            }
        }
    }    
    for (int j=0;j<n;j++)
    for (int c=0;c<m;c++)
    if (c+1!=m) cout<<a[j][c]; else cout<<a[j][c]<<endl;    
    return 0;
}    






