#include <iostream>
#include <new>
using namespace std;
struct List{
int Data;
List *Next;
};
void ShowList(List *node){
cout << "List = ";
while(node){
cout << node->Data << ", ";
node = node->Next;
}
}
inline List* NewList(int data){
return new List{data, NULL};
}
void AppenList(List* node, int data) {
while(node->Next) {
node = node->Next;
} node->Next = NewList(data);
}
int main() {
List *head = NewList(-1);
AppenList(head, 3);
AppenList(head, 2);
AppenList(head, 1);
ShowList(head);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bmV3Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCnN0cnVjdCBMaXN0ewogICAgaW50IERhdGE7CiAgICBMaXN0ICpOZXh0Owp9Owp2b2lkIFNob3dMaXN0KExpc3QgKm5vZGUpewogICAgY291dCA8PCAiTGlzdCA9ICI7CiAgICB3aGlsZShub2RlKXsgCiAgICAgICAgY291dCA8PCBub2RlLT5EYXRhIDw8ICIsICI7CiAgICAgICAgbm9kZSA9IG5vZGUtPk5leHQ7CiAgICB9Cn0KaW5saW5lIExpc3QqIE5ld0xpc3QoaW50IGRhdGEpewogICAgcmV0dXJuIG5ldyBMaXN0e2RhdGEsIE5VTEx9Owp9CnZvaWQgQXBwZW5MaXN0KExpc3QqIG5vZGUsIGludCBkYXRhKSB7CiAgICB3aGlsZShub2RlLT5OZXh0KSB7CiAgICAgICAgbm9kZSA9IG5vZGUtPk5leHQ7CiAgICB9IG5vZGUtPk5leHQgPSBOZXdMaXN0KGRhdGEpOwp9CmludCBtYWluKCkgewogICAgTGlzdCAqaGVhZCA9IE5ld0xpc3QoLTEpOwogICAgQXBwZW5MaXN0KGhlYWQsIDMpOwogICAgQXBwZW5MaXN0KGhlYWQsIDIpOwogICAgQXBwZW5MaXN0KGhlYWQsIDEpOwoKICAgIFNob3dMaXN0KGhlYWQpOwogICAgcmV0dXJuIDA7Cn0=