#include <bits/stdc++.h>
using namespace std;
void makenode(int);
void print();
struct node
{
int data;
struct node*next;
};
struct node*head;
int main()
{
head=0;
for(;;)
{
int x;
cin>>x;
if(x==0)
break;
else
makenode(x);
}
print();
return 0;
}
void makenode(int y)
{
struct node* temp=(struct node*)malloc(sizeof(node));
temp=head;
head=temp;
temp->data=y;
}
void print()
{
struct node* temp1=head;
while(temp1!=0)
{
cout<<temp1->data;
temp1=temp1->next;
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZvaWQgbWFrZW5vZGUoaW50KTsKdm9pZCBwcmludCgpOwpzdHJ1Y3Qgbm9kZQp7CiBpbnQgZGF0YTsKIHN0cnVjdCBub2RlKm5leHQ7Cn07CnN0cnVjdCBub2RlKmhlYWQ7CmludCBtYWluKCkgCiAgIHsKCSBoZWFkPTA7CgkgZm9yKDs7KQoJIHsKCSAgaW50IHg7CgkgIGNpbj4+eDsKCSAgaWYoeD09MCkKCSAgIGJyZWFrOwoJICBlbHNlCgkgbWFrZW5vZGUoeCk7CgkgfQoJIHByaW50KCk7CglyZXR1cm4gMDsKfQp2b2lkIG1ha2Vub2RlKGludCB5KQogIHsKCXN0cnVjdCBub2RlKiB0ZW1wPShzdHJ1Y3Qgbm9kZSopbWFsbG9jKHNpemVvZihub2RlKSk7Cgl0ZW1wPWhlYWQ7CgloZWFkPXRlbXA7Cgl0ZW1wLT5kYXRhPXk7CiB9CnZvaWQgcHJpbnQoKQp7CglzdHJ1Y3Qgbm9kZSogdGVtcDE9aGVhZDsKCXdoaWxlKHRlbXAxIT0wKQoJewoJCWNvdXQ8PHRlbXAxLT5kYXRhOwoJCXRlbXAxPXRlbXAxLT5uZXh0OwoJfQp9