#include <iostream>
using namespace std;
class Node {
public:
int data;
Node *next;
Node(int data){
this->data = data;
this->next = NULL;
}
~Node() {
delete next;
}
};
void deleteAlternateNodes(Node *head) {
Node *p = head, *q;
while ((p != NULL) && (p->next != NULL)) {
q = p->next;
p->next = q->next;
q->next = NULL;
delete q;
p = p->next;
}
}
Node* takeinput() {
int data;
Node *head = NULL, *tail = NULL;
while ((cin >> data) && (data != -1)) {
Node *newNode = new Node(data);
if (head == NULL) {
head = newNode;
}
else {
tail->next = newNode;
}
tail = newNode;
}
return head;
}
void print(Node *head) {
while (head != NULL) {
cout << head->data << ' ';
head = head->next;
}
cout << endl;
}
int main() {
Node *head = takeinput();
print(head);
deleteAlternateNodes(head);
print(head);
delete head;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgTm9kZSB7CnB1YmxpYzoKCWludCBkYXRhOwoJTm9kZSAqbmV4dDsKICAgIAoJTm9kZShpbnQgZGF0YSl7CgkJdGhpcy0+ZGF0YSA9IGRhdGE7CgkJdGhpcy0+bmV4dCA9IE5VTEw7Cgl9CiAgICAKICAgIH5Ob2RlKCkgewoJCWRlbGV0ZSBuZXh0OwoJfQp9OwoKdm9pZCBkZWxldGVBbHRlcm5hdGVOb2RlcyhOb2RlICpoZWFkKSB7CiAgICBOb2RlICpwID0gaGVhZCwgKnE7CiAgICB3aGlsZSAoKHAgIT0gTlVMTCkgJiYgKHAtPm5leHQgIT0gTlVMTCkpIHsKICAgICAgICBxID0gcC0+bmV4dDsKICAgICAgICBwLT5uZXh0ID0gcS0+bmV4dDsKICAgICAgICBxLT5uZXh0ID0gTlVMTDsKICAgICAgICBkZWxldGUgcTsKICAgICAgICBwID0gcC0+bmV4dDsKICAgIH0KfQoKTm9kZSogdGFrZWlucHV0KCkgewogICAgaW50IGRhdGE7CiAgICBOb2RlICpoZWFkID0gTlVMTCwgKnRhaWwgPSBOVUxMOwogICAgd2hpbGUgKChjaW4gPj4gZGF0YSkgJiYgKGRhdGEgIT0gLTEpKSB7CiAgICAgICAgTm9kZSAqbmV3Tm9kZSA9IG5ldyBOb2RlKGRhdGEpOwogICAgICAgIGlmIChoZWFkID09IE5VTEwpIHsKICAgICAgICAgICAgaGVhZCA9IG5ld05vZGU7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICB0YWlsLT5uZXh0ID0gbmV3Tm9kZTsKICAgICAgICB9CgkJdGFpbCA9IG5ld05vZGU7CiAgICB9CiAgICByZXR1cm4gaGVhZDsKfQoKdm9pZCBwcmludChOb2RlICpoZWFkKSB7Cgl3aGlsZSAoaGVhZCAhPSBOVUxMKSB7CgkJY291dCA8PCBoZWFkLT5kYXRhIDw8ICcgJzsKCQloZWFkID0gaGVhZC0+bmV4dDsKCX0KCWNvdXQgPDwgZW5kbDsKfQoKaW50IG1haW4oKSB7CiAgICBOb2RlICpoZWFkID0gdGFrZWlucHV0KCk7CiAgICBwcmludChoZWFkKTsKICAgIGRlbGV0ZUFsdGVybmF0ZU5vZGVzKGhlYWQpOwogICAgcHJpbnQoaGVhZCk7CiAgICBkZWxldGUgaGVhZDsKICAgIHJldHVybiAwOwp9