#include <stdio.h>
typedef struct node {
int x;
struct node* next;
} *Node;
void advance_node(Node ptr) {
ptr = ptr->next;
while (ptr) {
ptr = ptr->next;
}
}
int main() {
Node node1
= malloc(sizeof (*node1
)); Node node2
= malloc(sizeof (*node2
)); Node node3
= malloc(sizeof (*node3
));
node1->x = 1;
node1->next = node2;
node2->x = 4;
node2->next = node3;
node3->x = 9;
node3->next = NULL;
advance_node(node1);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIHN0cnVjdCBub2RlIHsKICAgIGludCB4OwogICAgc3RydWN0IG5vZGUqIG5leHQ7Cn0gKk5vZGU7Cgp2b2lkIGFkdmFuY2Vfbm9kZShOb2RlIHB0cikgewogICAgcHRyID0gcHRyLT5uZXh0OwogICAgd2hpbGUgKHB0cikgewogICAgICAgIHByaW50ZigiJWRcbiIsIHB0ci0+eCk7CiAgICAgICAgcHRyID0gcHRyLT5uZXh0OwogICAgfQp9CgppbnQgbWFpbigpIHsKICAgIE5vZGUgbm9kZTEgPSBtYWxsb2Moc2l6ZW9mICgqbm9kZTEpKTsKICAgIE5vZGUgbm9kZTIgPSBtYWxsb2Moc2l6ZW9mICgqbm9kZTIpKTsKICAgIE5vZGUgbm9kZTMgPSBtYWxsb2Moc2l6ZW9mICgqbm9kZTMpKTsKCiAgICBub2RlMS0+eCA9IDE7CiAgICBub2RlMS0+bmV4dCA9IG5vZGUyOwoKICAgIG5vZGUyLT54ID0gNDsKICAgIG5vZGUyLT5uZXh0ID0gbm9kZTM7CgogICAgbm9kZTMtPnggPSA5OwogICAgbm9kZTMtPm5leHQgPSBOVUxMOwoKICAgIGFkdmFuY2Vfbm9kZShub2RlMSk7CiAgICByZXR1cm4gMDsKfQo=