template
    <class element>
struct list_pair
{
    element head;
    list_pair *tail;
    list_pair(element h, list_pair *t) :
        head(h), tail(t)
    {
    }
};

#ifndef NULL
#define NULL ((void *)0)
#endif
