#include <iostream>
#include <stack>
#include <string>
using namespace std;
class Data {
public:
Data(): intVariable(0), stringVariable("") { ; }
Data(int iVal, const string& sVal):
intVariable(iVal),
stringVariable(sVal)
{
;
}
Data(const Data& d):
intVariable(d.intVariable),
stringVariable(d.stringVariable)
{
;
}
friend ostream& operator<<(ostream& out, const Data& d) {
return out << "-> " << d.intVariable << "\t" << d.stringVariable;
}
friend istream& operator>>(istream& in, Data& d) {
return in >> d.intVariable >> d.stringVariable;
}
private:
int intVariable;
string stringVariable;
};
int main() {
stack<Data> myStack;
Data temp;
while(cin >> temp) {
myStack.push(temp);
}
while (!myStack.empty()) {
cout << myStack.top() << endl;
myStack.pop();
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RhY2s+CiNpbmNsdWRlIDxzdHJpbmc+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBEYXRhIHsKcHVibGljOgoJRGF0YSgpOiBpbnRWYXJpYWJsZSgwKSwgc3RyaW5nVmFyaWFibGUoIiIpIHsgOyB9CglEYXRhKGludCBpVmFsLCBjb25zdCBzdHJpbmcmIHNWYWwpOgoJCWludFZhcmlhYmxlKGlWYWwpLAoJCXN0cmluZ1ZhcmlhYmxlKHNWYWwpCgl7CgkJOwoJfQoJCQoJRGF0YShjb25zdCBEYXRhJiBkKToKCQlpbnRWYXJpYWJsZShkLmludFZhcmlhYmxlKSwKCQlzdHJpbmdWYXJpYWJsZShkLnN0cmluZ1ZhcmlhYmxlKQoJewoJCTsKCX0KCQoJZnJpZW5kIG9zdHJlYW0mIG9wZXJhdG9yPDwob3N0cmVhbSYgb3V0LCBjb25zdCBEYXRhJiBkKSB7CgkJcmV0dXJuIG91dCA8PCAiLT4gIiA8PCBkLmludFZhcmlhYmxlIDw8ICJcdCIgPDwgZC5zdHJpbmdWYXJpYWJsZTsKCX0KCQoJZnJpZW5kIGlzdHJlYW0mIG9wZXJhdG9yPj4oaXN0cmVhbSYgaW4sIERhdGEmIGQpIHsKCQlyZXR1cm4gaW4gPj4gZC5pbnRWYXJpYWJsZSA+PiBkLnN0cmluZ1ZhcmlhYmxlOwoJfQoJCnByaXZhdGU6CglpbnQgaW50VmFyaWFibGU7CglzdHJpbmcgc3RyaW5nVmFyaWFibGU7Cn07CgppbnQgbWFpbigpIHsKCQoJc3RhY2s8RGF0YT4gbXlTdGFjazsKCURhdGEgdGVtcDsKCXdoaWxlKGNpbiA+PiB0ZW1wKSB7CgkJbXlTdGFjay5wdXNoKHRlbXApOwoJfQoJCgl3aGlsZSAoIW15U3RhY2suZW1wdHkoKSkgewogICAgCWNvdXQgPDwgbXlTdGFjay50b3AoKSA8PCBlbmRsOwogICAgCW15U3RhY2sucG9wKCk7CiAgCX0KICAJCiAgCXJldHVybiAwOwp9