void main(insertfirst( , )insertfirst( , )insertfirst( , )insertfirst( , )insertfirst( , )insertfirst( , )printf("original list")//print list printlist()while(!isempty()struct node *temp deletefirst()printf("\ndeleted value:")printf("(% ,% ",temp->key,temp->data)printf("\nlist after deleting all items")printlist()insertfirst( , )insertfirst( , )insertfirst( , )insertfirst( , )insertfirst( , )insertfirst( , )printf("\nrestored list")printlist()printf("\ ")struct node *foundlink find( )if(foundlink !nullprintf("element found")printf("(% ,% ",foundlink->key,foundlink->data)printf("\ ")