#include<iostream>
#include<vector>
#include<string>
#include<stack>
using namespace std;
string s , cnt , tmp;
vector<string> ans;
bool quote , match , closed;
stack<int> st;
void work(string s){
int i = 0;
while(i<s.size()){
tmp = "";
if(quote){
if(i<s.size()&&s[i]=='[')tmp += "[" , i++;
if(i<s.size()&&s[i]==']')tmp += "]" , i++;
for(;i<s.size()&&s[i]!='['&&s[i]!=']';i++)tmp += s[i];
if(tmp=="[/quote"&&s[i]==']'){
int l = 0 , r = cnt.size() - 1;tmp = "";
while(l<s.size()&&s[l]==' ')l++;
while(r>=0&&s[r]==' ')r--;
for(int j=l;j<=r;j++)tmp += cnt[j];
cnt = tmp , cnt = "> " + cnt;
if(cnt!="> ")ans.push_back(cnt);
quote = 0 , cnt = "";
}else cnt += tmp;
continue;
}
while(i<s.size()&&(s[i]=='['||s[i]==']'||s[i]=='='))i++;
for(;i<s.size()&&s[i]!=']'&&s[i]!='='&&s[i]!='[';i++)tmp += s[i];
if(tmp=="h1"){
cnt += "# " , st.push(1);
}else if(tmp=="h2"){
cnt += "## " , st.push(2);
}else if(tmp=="i"){
cnt += "*" , st.push(3);
}else if(tmp=="b"){
cnt += "__" , st.push(4);
}else if(tmp=="url"){
st.push(5);
string name = "" , url = "" , t = "";i++;
int num = 1;
if(s[i]=='[')num++;
if(s[i]==']')num--;
if(s[i+1]=='[')num++;
if(s[i+1]==']')num--;
if(num<=0)url += s[i];
for(;i<s.size()-1&#i++){
url += s[i];
if(s[i+1]=='[')num++;
if(s[i+1]==']')num--;
}
t = cnt , cnt = "" , work(url);
url = cnt , cnt = t;
i++ , num = 1;
if(s[i]=='=')num++;
if(s[i]=='/')num--;
if(s[i+1]=='=')num++;
if(s[i+1]=='/')num--;
if(num<=0)name += s[i];
for(;i<s.size()-2&&(s[i]!='['||s[i+2]!='u');i++){
name += s[i];
if(s[i+1]=='=')num++;
if(s[i+1]=='/')num--;
}
t = cnt , cnt = "" , work(name);
name = cnt , cnt = t;
cnt += "[" , cnt += name , cnt += "]" , cnt += "(" , cnt += url;
cnt += ")";
}else if(tmp=="img"){
st.push(6);
string name = "" , url = "" , t = "";i++;
int num = 1;
if(s[i]=='[')num++;
if(s[i]==']')num--;
if(s[i+1]=='[')num++;
if(s[i+1]==']')num--;
if(num<=0)url += s[i];
for(;i<s.size()-1&#i++){
url += s[i];
if(s[i+1]=='[')num++;
if(s[i+1]==']')num--;
}
t = cnt , cnt = "" , work(url);
url = cnt , cnt = t;
i++ , num = 1;
if(s[i]=='=')num++;
if(s[i]=='/')num--;
if(s[i+1]=='=')num++;
if(s[i+1]=='/')num--;
if(num==0)name += s[i];
for(;i<s.size()-3&&(s[i]!='['||s[i+2]!='i'||s[i+3]!='m');i++){
name += s[i];
if(s[i+1]=='=')num++;
if(s[i+1]=='/')num--;
}
t = cnt , cnt = "" , work(name);
name = cnt , cnt = t;
cnt += "![" , cnt += name , cnt += "]" , cnt += "(" , cnt += url;
cnt += ")";
}else if(tmp=="quote"){
if(cnt!="")ans.push_back(cnt) , cnt = "";
quote = 1 , i++;
}else{
if(tmp=="/h1"){
if(st.empty()||st.top()!=1){
match = 1;return;
}
st.pop() , cnt += " #";
}else if(tmp=="/h2"){
if(st.empty()||st.top()!=2){
match = 1;return;
}
st.pop() , cnt += " ##";
}else if(tmp=="/i"){
if(st.empty()||st.top()!=3){
match = 1;return;
}
st.pop() , cnt += "*";
}else if(tmp=="/b"){
if(st.empty()||st.top()!=4){
match = 1;return;
}
st.pop() , cnt += "__";
}else if(tmp=="/url"){
if(st.empty()||st.top()!=5){
match = 1;return;
}
st.pop();
}else if(tmp=="/img"){
if(st.empty()||st.top()!=6){
match = 1;return;
}
st.pop();
}else if(tmp=="/quote"){
match = 1;return;
}else{
cnt += tmp , i--;
}
}
if(!quote)i++;
}
}
signed main(){
while(getline(cin,s)){
cnt = "" , work(s);
if(quote){
int l = 0 , r = cnt.size() - 1;tmp = "";
while(l<s.size()&&s[l]==' ')l++;
while(r>=0&&s[r]==' ')r--;
for(int j=l;j<=r;j++)tmp += cnt[j];
cnt = tmp , cnt = "> " + cnt;
}
if(cnt!="> "&&cnt!="")ans.push_back(cnt);
}
if(!st.empty()){
while(!st.empty())st.pop() , closed = 1;
}
if(match)cout << "Match Error";
else if(closed||quote)cout << "Unclo" << "sed Mark";
else{
for(int i=0;i<ans.size();i++)cout << ans[i] << "\n";
}
return 0;
}