class Node:#create a Node
    def __int__(self,data):
        self.data=data#given data
        self.next=None#given next to None
class Linked_List:
    pass
    def insert_tail(Head,data):#insert the data at tail
        tamp=Head#create a tamp as a head
        if(tamp==None):#if linkedlist is empty
            newNod=Node()#create newNode Node type and given data and next
            newNod.data=data
            newNod.next=None
            Head=newNod
        else:
            while tamp.next!=None:#find  the last Node
                tamp=tamp.next
            newNod = Node()#create a new node
            newNod.data = data
            newNod.next = None
            tamp.next=newNod#put the newnode into last node
        return Head#return first node  of  linked list  
    def insert_head(Head,data):
        tamp = Head
        if (tamp == None):
            newNod = Node()#create a new Node
            newNod.data = data
            newNod.next = None
            Head = newNod#make new node to Head       
        else:
            newNod = Node()
            newNod.data = data
            newNod.next = Head#put the Head at NewNode Next
            Head=newNod#make a NewNode to Head
        return Head   
    def Print(Head):#print every node data
        tamp=Node()
        tamp=Head
        while tamp!=None:
            print(tamp.data)
            tamp=tamp.next
    def delete_head(Head):#delete from head
        if Head!=None:
            Head=Head.next
        return Head#return new Head
    def delete_tail(Head):#delete from tail
        if Head!=None:
            tamp = Node()
            tamp = Head
            while (tamp.next).next!= None:#find the 2nd last element
                tamp = tamp.next
            tamp.next=None#delete the last element by give next None to 2nd last Element
        return Head
    def isEmpty(Head):
        if(Head==None):#check Head is None  or Not
            return True#return Ture if list is empty
        else:
            return False#check False if it's not empty