exercises implement the following functions related to the singly linked list(athe removeall(headfunctionwhich accepts head reference to singly linked listunlinks and remove every node individually from the list (bthe splitinhalf(headfunctionwhich accepts head reference to singly linked listsplits the list in half and returns the head reference to the head node of the second half of the list if the original list contains single nodenone should be returned evaluate the following code segment which creates singly linked list draw the resulting listincluding the external pointers box none temp none for in range if ! temp listnodei temp next box box temp consider the following singly linked list provide the instructions to insert the new node immediately following the node containing do not use loop or any additional external references head curnode newnode consider the following singly linked list provide the instructions to remove the node containing do not use loop or any additional external references head curnode