#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector<string> split(string& to_split, char separator = ' ')
{
vector<string> result = { "" };
for (int i = 0; i < to_split.size(); i++)
{
if (to_split[i] == separator)
{
result.push_back("");
}
else
{
result[result.size() - 1] += to_split[i];
}
}
return result;
}
void strip(string& to_strip, char to_erase = ' ')
{
while (to_strip[0] == to_erase)
{
to_strip.erase(0, 1);
}
if (to_strip.size() == 0)
{
return;
}
while (to_strip[to_strip.size() - 1] == to_erase)
{
to_strip.erase(to_strip.size() - 1, to_strip.size());
}
}
string wciecia(int wciecie)
{
string result = "";
for (int i = 0; i < wciecie; i++)
{
result += " ";
}
return result;
}
int main()
{
string rzad, tag;
vector<string> rzad_po_split, tag_po_split, atr_po_split;
int wciecie = 0;
bool dodaj_wciecie;
while (getline(cin, rzad))
{
while (rzad.find('<') != string::npos)
{
tag = rzad.substr(rzad.find('<') + 1, rzad.find('>') - rzad.find('<') - 1);
rzad.erase(rzad.find('<'), rzad.find('>') - rzad.find('<') + 1);
if (tag[0] == '/')
{
wciecie--;
}
else
{
if (tag[tag.size() - 1] == '/')
{
dodaj_wciecie = false;
tag.erase(tag.size() - 1, tag.size());
}
else
{
dodaj_wciecie = true;
}
strip(tag);
tag_po_split = split(tag);
cout << wciecia(wciecie) << tag_po_split[0] << ':' << endl;
for (int i = 1; i < tag_po_split.size(); i++)
{
atr_po_split = split(tag_po_split[i], '=');
strip(atr_po_split[1], '"');
cout << wciecia(wciecie + 1) << atr_po_split[0] << " = " << atr_po_split[1] << endl;
}
dodaj_wciecie ? wciecie += 1 : NULL;
}
}
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZlY3RvcjxzdHJpbmc+IHNwbGl0KHN0cmluZyYgdG9fc3BsaXQsIGNoYXIgc2VwYXJhdG9yID0gJyAnKQp7CiAgICB2ZWN0b3I8c3RyaW5nPiByZXN1bHQgPSB7ICIiIH07CiAgICBmb3IgKGludCBpID0gMDsgaSA8IHRvX3NwbGl0LnNpemUoKTsgaSsrKQogICAgewogICAgICAgIGlmICh0b19zcGxpdFtpXSA9PSBzZXBhcmF0b3IpCiAgICAgICAgewogICAgICAgICAgICByZXN1bHQucHVzaF9iYWNrKCIiKTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgcmVzdWx0W3Jlc3VsdC5zaXplKCkgLSAxXSArPSB0b19zcGxpdFtpXTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdDsKfQoKdm9pZCBzdHJpcChzdHJpbmcmIHRvX3N0cmlwLCBjaGFyIHRvX2VyYXNlID0gJyAnKQp7CiAgICB3aGlsZSAodG9fc3RyaXBbMF0gPT0gdG9fZXJhc2UpCiAgICB7CiAgICAgICAgdG9fc3RyaXAuZXJhc2UoMCwgMSk7CiAgICB9CiAgICBpZiAodG9fc3RyaXAuc2l6ZSgpID09IDApCiAgICB7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgd2hpbGUgKHRvX3N0cmlwW3RvX3N0cmlwLnNpemUoKSAtIDFdID09IHRvX2VyYXNlKQogICAgewogICAgICAgIHRvX3N0cmlwLmVyYXNlKHRvX3N0cmlwLnNpemUoKSAtIDEsIHRvX3N0cmlwLnNpemUoKSk7CiAgICB9Cn0Kc3RyaW5nIHdjaWVjaWEoaW50IHdjaWVjaWUpCnsKICAgIHN0cmluZyByZXN1bHQgPSAiIjsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgd2NpZWNpZTsgaSsrKQogICAgewogICAgICAgIHJlc3VsdCArPSAiICAgICI7CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdDsKfQoKaW50IG1haW4oKQp7CiAgICBzdHJpbmcgcnphZCwgdGFnOwogICAgdmVjdG9yPHN0cmluZz4gcnphZF9wb19zcGxpdCwgdGFnX3BvX3NwbGl0LCBhdHJfcG9fc3BsaXQ7CiAgICBpbnQgd2NpZWNpZSA9IDA7CiAgICBib29sIGRvZGFqX3djaWVjaWU7CiAgICB3aGlsZSAoZ2V0bGluZShjaW4sIHJ6YWQpKQogICAgewogICAgICAgIHdoaWxlIChyemFkLmZpbmQoJzwnKSAhPSBzdHJpbmc6Om5wb3MpCiAgICAgICAgewogICAgICAgICAgICB0YWcgPSByemFkLnN1YnN0cihyemFkLmZpbmQoJzwnKSArIDEsIHJ6YWQuZmluZCgnPicpIC0gcnphZC5maW5kKCc8JykgLSAxKTsKICAgICAgICAgICAgcnphZC5lcmFzZShyemFkLmZpbmQoJzwnKSwgcnphZC5maW5kKCc+JykgLSByemFkLmZpbmQoJzwnKSArIDEpOwogICAgICAgICAgICBpZiAodGFnWzBdID09ICcvJykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgd2NpZWNpZS0tOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKHRhZ1t0YWcuc2l6ZSgpIC0gMV0gPT0gJy8nKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGRvZGFqX3djaWVjaWUgPSBmYWxzZTsgCiAgICAgICAgICAgICAgICAgICAgdGFnLmVyYXNlKHRhZy5zaXplKCkgLSAxLCB0YWcuc2l6ZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBkb2Rhal93Y2llY2llID0gdHJ1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHN0cmlwKHRhZyk7CiAgICAgICAgICAgICAgICB0YWdfcG9fc3BsaXQgPSBzcGxpdCh0YWcpOwogICAgICAgICAgICAgICAgY291dCA8PCB3Y2llY2lhKHdjaWVjaWUpIDw8IHRhZ19wb19zcGxpdFswXSA8PCAnOicgPDwgZW5kbDsKICAgICAgICAgICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDwgdGFnX3BvX3NwbGl0LnNpemUoKTsgaSsrKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGF0cl9wb19zcGxpdCA9IHNwbGl0KHRhZ19wb19zcGxpdFtpXSwgJz0nKTsKICAgICAgICAgICAgICAgICAgICBzdHJpcChhdHJfcG9fc3BsaXRbMV0sICciJyk7CiAgICAgICAgICAgICAgICAgICAgY291dCA8PCB3Y2llY2lhKHdjaWVjaWUgKyAxKSA8PCBhdHJfcG9fc3BsaXRbMF0gPDwgIiA9ICIgPDwgYXRyX3BvX3NwbGl0WzFdIDw8IGVuZGw7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBkb2Rhal93Y2llY2llID8gd2NpZWNpZSArPSAxIDogTlVMTDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAKICAgIH0KfQ==