#include <bits/stdc++.h>
using namespace std;
struct Node {
int data;
Node* prev;
Node* next;
};
int main() {
Node* head = new Node{10, NULL, NULL};
head->next = new Node{20, head, NULL};
head->next->next = new Node{30, head->next, NULL};
Node* temp = head;
while(temp->next != NULL) {
temp = temp->next;
}
Node* last = new Node{400, temp, NULL};
temp->next = last;
temp = head;
while(temp != NULL) {
cout << temp->data << " ";
temp = temp->next;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnN0cnVjdCBOb2RlIHsKICAgIGludCBkYXRhOwogICAgTm9kZSogcHJldjsKICAgIE5vZGUqIG5leHQ7Cn07CmludCBtYWluKCkgewogICAgTm9kZSogaGVhZCA9IG5ldyBOb2RlezEwLCBOVUxMLCBOVUxMfTsKICAgIGhlYWQtPm5leHQgPSBuZXcgTm9kZXsyMCwgaGVhZCwgTlVMTH07CiAgICBoZWFkLT5uZXh0LT5uZXh0ID0gbmV3IE5vZGV7MzAsIGhlYWQtPm5leHQsIE5VTEx9OwogICAgTm9kZSogdGVtcCA9IGhlYWQ7CiAgICB3aGlsZSh0ZW1wLT5uZXh0ICE9IE5VTEwpIHsKICAgICAgICB0ZW1wID0gdGVtcC0+bmV4dDsKICAgIH0KICAgIE5vZGUqIGxhc3QgPSBuZXcgTm9kZXs0MDAsIHRlbXAsIE5VTEx9OwogICAgdGVtcC0+bmV4dCA9IGxhc3Q7CgogICAgdGVtcCA9IGhlYWQ7CiAgICB3aGlsZSh0ZW1wICE9IE5VTEwpIHsKICAgICAgICBjb3V0IDw8IHRlbXAtPmRhdGEgPDwgIiAiOwogICAgICAgIHRlbXAgPSB0ZW1wLT5uZXh0OwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==