#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);
        if(head==NULL)
        {
            printf("List is empty");
            return;
        }
    }
    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;
        }
    }
}