- #include <iostream> 
-   
- struct Element { 
-   Element* next; 
- }; 
-   
- int do_something(Element* a) { 
-   if(a) { 
-     do_something(a->next); 
-   } 
-   return 0; 
- } 
-   
- int main() { 
-   Element* last = NULL; 
-   Element* next = new Element; 
-   next->next = last; 
-   Element* first = new Element; 
-   first->next = next; 
-   std::cout << do_something(first) << std::endl; 
-   delete first; 
-   delete next; 
-   delete last; 
-   return 0; 
- } 
				I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IEVsZW1lbnQgewogIEVsZW1lbnQqIG5leHQ7Cn07CgppbnQgZG9fc29tZXRoaW5nKEVsZW1lbnQqIGEpIHsKICBpZihhKSB7CiAgICBkb19zb21ldGhpbmcoYS0+bmV4dCk7CiAgfQogIHJldHVybiAwOwp9CgppbnQgbWFpbigpIHsKICBFbGVtZW50KiBsYXN0ID0gTlVMTDsKICBFbGVtZW50KiBuZXh0ID0gbmV3IEVsZW1lbnQ7CiAgbmV4dC0+bmV4dCA9IGxhc3Q7CiAgRWxlbWVudCogZmlyc3QgPSBuZXcgRWxlbWVudDsKICBmaXJzdC0+bmV4dCA9IG5leHQ7CiAgc3RkOjpjb3V0IDw8IGRvX3NvbWV0aGluZyhmaXJzdCkgPDwgc3RkOjplbmRsOwogIGRlbGV0ZSBmaXJzdDsKICBkZWxldGUgbmV4dDsKICBkZWxldGUgbGFzdDsKICByZXR1cm4gMDsKfQ==