#include <stdio.h>
#include <stdlib.h>
struct list
{
int a;
struct list *next;
};
typedef struct list List;
int main (void)
{
List *start = NULL, **end = &start;
int a;
while(scanf("%d", &a
) == 1) { List
*node
= (List
*)malloc(sizeof(List
)); node->a = a;
node->next = NULL;
*end = node;
end = &node->next;
}
List *current = start;
while(current) {
printf("%d --> ", current
-> a
); current = current -> next;
}
current = start;
while(current) {
List *toDelete = current;
current = current -> next;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnN0cnVjdCBsaXN0IAp7CiAgIGludCBhOwogICBzdHJ1Y3QgbGlzdCAqbmV4dDsKfTsKdHlwZWRlZiBzdHJ1Y3QgbGlzdCBMaXN0OwoKaW50IG1haW4gKHZvaWQpCnsKICAgTGlzdCAqc3RhcnQgPSBOVUxMLCAqKmVuZCA9ICZzdGFydDsKICAgaW50IGE7CiAgIHdoaWxlKHNjYW5mKCIlZCIsICZhKSA9PSAxKSB7CiAgICAgIExpc3QgKm5vZGUgPSAoTGlzdCopbWFsbG9jKHNpemVvZihMaXN0KSk7CiAgICAgIG5vZGUtPmEgPSBhOwogICAgICBub2RlLT5uZXh0ID0gTlVMTDsKICAgICAgKmVuZCA9IG5vZGU7CiAgICAgIGVuZCA9ICZub2RlLT5uZXh0OwogICB9CiAgIExpc3QgKmN1cnJlbnQgPSBzdGFydDsKICAgd2hpbGUoY3VycmVudCkgewogICAgICBwcmludGYoIiVkIC0tPiAiLCBjdXJyZW50IC0+IGEpOwogICAgICBjdXJyZW50ID0gY3VycmVudCAtPiBuZXh0OwogICB9CiAgIGN1cnJlbnQgPSBzdGFydDsKICAgd2hpbGUoY3VycmVudCkgewogICAgICBMaXN0ICp0b0RlbGV0ZSA9IGN1cnJlbnQ7CiAgICAgIGN1cnJlbnQgPSBjdXJyZW50IC0+IG5leHQ7CiAgICAgIGZyZWUodG9EZWxldGUpOwogICB9CiAgIHJldHVybiAwOwp9Cgo=