Write a program that accepts as many non-zero integers as a user wants and stores them in a dynamic linked list (no arrays can be used! it has to be a dynamic linked list!). The user terminates the input integers with 0. After that the user enters an additional integer (referred to as \"KEY\"). The program then searches the list for the integer KEY and if a node exists in the list containing KEY it replaces the integer value of that node with 0 and prints out the new list. Obtain the output of your program for different cases of the KEY (i.e., KEY present in the head of the list, KEY present in the tail of the list, KEY present in the middle of the list, KEY absent from the list).