#include <iostream>
#include <vector>
#include <string>
int main()
{
std::vector<int> levels;
std::string hangy;
std::string name;
for (int level, address; std::cin >> level >> name >> address;) {
while (!levels.empty() && levels.back() >= level)
levels.pop_back(), hangy.erase(hangy.size()-2);
levels.push_back(level);
hangy += name + ".";
std::cout << address << ": " << hangy.substr(0, hangy.size()-1) << '\n';
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgoKaW50IG1haW4oKQp7CiAgc3RkOjp2ZWN0b3I8aW50PiBsZXZlbHM7CiAgc3RkOjpzdHJpbmcgaGFuZ3k7CgogIHN0ZDo6c3RyaW5nIG5hbWU7CiAgZm9yIChpbnQgbGV2ZWwsIGFkZHJlc3M7IHN0ZDo6Y2luID4+IGxldmVsID4+IG5hbWUgPj4gYWRkcmVzczspIHsKICAgIHdoaWxlICghbGV2ZWxzLmVtcHR5KCkgJiYgbGV2ZWxzLmJhY2soKSA+PSBsZXZlbCkKICAgICAgbGV2ZWxzLnBvcF9iYWNrKCksIGhhbmd5LmVyYXNlKGhhbmd5LnNpemUoKS0yKTsKICAgIGxldmVscy5wdXNoX2JhY2sobGV2ZWwpOwogICAgaGFuZ3kgKz0gbmFtZSArICIuIjsKICAgIHN0ZDo6Y291dCA8PCBhZGRyZXNzIDw8ICI6ICIgPDwgaGFuZ3kuc3Vic3RyKDAsIGhhbmd5LnNpemUoKS0xKSA8PCAnXG4nOwogIH0KfQo=