#include<stdio.h>
#include<stdlib.h>
struct node{
    int data;
    struct node* next;
}*head=NULL,*tail;
void deletevalue(int val)
{
    if(head==NULL)
    {
        printf("List is empty");
        return;
    }
    struct node*temp=head;
    struct node*prev=NULL;
    if(head->data==val)
    {
        struct node*toDelete=head;
        head=head->next;
        free(toDelete);
    }
    else
    {
        while(temp!=NULL&&temp->data!=val)
        prev=temp;
        temp=temp->next;
    }
    prev->next=temp->next;
    free(temp);
    temp=*head;
    while(temp!=NULL)
    {
        printf("%d",temp->data);
        if(temp->next!=NULL)
        printf("  ");
        temp=temp->next;
    }
}