int list length(struct listnode *list): counts the number of nodes in the given list, and returns the result. struct listnode *list remove(struct listnode *list, long value): find the first list node containing the value value, remove it from the list, free it, and return the resulting list. if no list node contains the given value, the list is returned unchanged.