#include <stdio.h>
#include <stdlib.h>
struct list {
int key;
struct list *next;
};
struct list *append(struct list **l, int k)
{
(*l)->key = k;
return *l;
}
int main(void)
{
struct list *l;
int i;
for (i = 0; i < 42; ++i)
l = append(&l, i);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnN0cnVjdCBsaXN0IHsKICAgIGludCBrZXk7CiAgICBzdHJ1Y3QgbGlzdCAqbmV4dDsKfTsKCnN0cnVjdCBsaXN0ICphcHBlbmQoc3RydWN0IGxpc3QgKipsLCBpbnQgaykKewogICAgKmwgPSBtYWxsb2Moc2l6ZW9mICpsKTsKICAgICgqbCktPmtleSA9IGs7CiAgICByZXR1cm4gKmw7Cn0KCmludCBtYWluKHZvaWQpCnsKICAgIHN0cnVjdCBsaXN0ICpsOwogICAgaW50IGk7CgogICAgZm9yIChpID0gMDsgaSA8IDQyOyArK2kpCiAgICAgICAgbCA9IGFwcGVuZCgmbCwgaSk7Cn0K