Cell* take(int n, const Cell* L)
  {
    if(n == 0) return NULL;
    else if(L == NULL) return NULL;
    else return new Cell(L->item, take(n-1, L->next));
  }