Vasya has recently learned to type and log on to the Internet. He immediately entered a chat room and decided to say hello to everybody. Vasya typed the word *s*. It is considered that Vasya managed to say hello if several letters can be deleted from the typed word so that it resulted in the word "hello". For example, if Vasya types the word "ahhellllloou", it will be considered that he said hello, and if he types "hlelo", it will be considered that Vasya got misunderstood and he didn't manage to say hello. Determine whether Vasya managed to say hello by the given word *s*.
The first and only line contains the word *s*, which Vasya typed. This word consisits of small Latin letters, its length is no less that 1 and no more than 100 letters.
class Node():
    def __init__(self,data):
        self.data = data
        self.next = None

class Stack():
    def __init__(self):
        self.head = None
        self.tail = None
        self.size = 0
    def isEmpty(self):
        return self.head==None

    def push(self,item):
        if(self.head==None):
            self.head = Node(item)
            self.tail = self.head
        else:
            self.tail.next = Node(item)
            self.tail = self.tail.next
        self.size+=1

    def pop(self):
        assert self.head!=None,"Cannot pop an empty stack"
        curr = self.head
        temp = self.tail
        if(curr==temp):
            self.head = None
            self.tail=None
            return temp.data
        while(curr.next!=self.tail):
            curr = curr.next
        self.tail = curr
        self.tail.next = None
        self.size-=1
        return temp.data

    def peek(self):
        assert self.head!=None,"Cannot peek an empty stack"
        return self.tail.data

    def lenStack(self):
        return self.size

    def printStack(self):
        curr = self.head
        while(curr!=None):
            print(curr.data)
            curr = curr.next
        

s= input()
st = Stack()
flag = 0
for i in s:
    if(i=='h'):
        if(st.isEmpty()):
            st.push(i)
    elif(i=='e'):
        ch = st.peek()
        if(ch=='h'):
            st.push(i)
        else:
            flag = 1
            break
    elif(i=='l'):
        ch = st.peek()
        if(ch=='l' or ch=='e'):
            st.push(i)
        else:
            flag = 1
            break
    elif(i=='o'):
        ch = st.peek()
        if(ch=='l'):
            st.push(i)
            break
if(st.isEmpty() or flag==1):
    print("NO")
else:
    print("YES")




    

