#include <stdio.h>
#include <stdlib.h>
struct list {
int key;
struct list * next;
} ;
struct list * append( struct list ** l1, int k)
{
( * l1) -> key = k;
return * l1;
}
int main( void )
{
struct list * p, * l1, l2 = { 42 , NULL } , l3 = { 24 , NULL } ;
int i;
for ( p = l1, i = 0 ; i < 42 ; ++ i)
p = append( p, i) ;
for ( struct list * p = l1; p != NULL; p = p-> next)
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnN0cnVjdCBsaXN0IHsKICAgIGludCBrZXk7CiAgICBzdHJ1Y3QgbGlzdCAqbmV4dDsKfTsKCnN0cnVjdCBsaXN0ICphcHBlbmQoc3RydWN0IGxpc3QgKipsMSwgaW50IGspCnsKICAgICpsMSA9IG1hbGxvYyhzaXplb2YgKmwxKTsKICAgICgqbDEpLT5rZXkgPSBrOwogICAgcmV0dXJuICpsMTsKfQoKaW50IG1haW4odm9pZCkKewogICAgc3RydWN0IGxpc3QgKnAsICpsMSwgbDIgPSB7IDQyLCBOVUxMIH0sIGwzID0geyAyNCwgTlVMTCB9OwogICAgaW50IGk7CgogICAgZm9yIChwID0gbDEsIGkgPSAwOyBpIDwgNDI7ICsraSkKICAgICAgICBwID0gYXBwZW5kKHAsIGkpOwoKICAgIGZvciAoc3RydWN0IGxpc3QgKnAgPSBsMTsgcCAhPSBOVUxMOyBwID0gcC0+bmV4dCkKICAgICAgICBwcmludGYoIiVkXG4iLCBwLT5rZXkpOwp9Cg==