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.
import math
from math import sqrt
import re
import itertools
import sys

#from google.colab.patches import cv2_imshow
#from matplotlib import pyplot as plt
#sys.setrecursionlimit(10 ** 9)
#print("{0:.3f}".format(ans)) выводит флоат с двумя знаками после запятой
def is_prime(n):
    i = 2
    j = 0
    while(True):
        if(i*i <= n and j != 1):
            if(n % i == 0):
                j=j+1
            i=i+1
        elif(j==1):
            return False
        else:
            return True

def allCharactersSame(s) :
    n = len(s)
    for i in range(1, n) :
        if s[i] != s[0] :
            return False
    return True



def visokosniy(n):
    if n % 4 == 0 and n % 100 != 0 or n % 400 == 0:
        return True
    else:
        return False


def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)


# для строки
def isPalindrome(s):
    if len(s) <= 1:
        return True
    else:
        return s[0] == s[-1] and isPalindrome(s[1:-1])


# ____________________________ACTIVE CODE___________________________

s = input()

s = s.replace('a', '')
s = s.replace('b', '')
s = s.replace('c', '')
s = s.replace('d', '')
s = s.replace('f', '')
s = s.replace('g', '')
s = s.replace('i', '')
s = s.replace('j', '')
s = s.replace('k', '')
s = s.replace('m', '')
s = s.replace('n', '')
s = s.replace('p', '')
s = s.replace('q', '')
s = s.replace('r', '')
s = s.replace('s', '')
s = s.replace('t', '')
s = s.replace('u', '')
s = s.replace('v', '')
s = s.replace('w', '')
s = s.replace('x', '')
s = s.replace('y', '')
s = s.replace('z', '')
s = s.replace(' ', '')
s = s.lower()
ih1 = list(s).index('h')
s = s[ih1 : len(s)]
s1 = s
ie1 = list(s).index('e')
s = s[ie1 : len(s)]
s2 = s
il1 = list(s).index('l')
s = s[il1 : len(s)]
s3 = s
il2 = s.find('l', s.find('l') + 1)
s = s[il2 : len(s)]
s4 =s
io1 = list(s).index('o')
s = s[io1 : len(s)]
s5 = s

if s1[0] == 'h' and s2[0] == 'e' and s3[0] == 'l' and s4[0] == 'l' and s5[0] == 'o':
    print("YES")
else:
    print("NO")
# ____________________________END ACTIVE CODE________________________

# ____________________________________________________________________
# _________________________NOTES______________________________________
# ____________________________________________________________________
# префикс суммы одной функцией, но нужен импорт import itertools
# n = int(input())
# a = list(map(int, input().split()))
# a = list(itertools.accumulate(a))
# for i in range(n):
#   print(a[i], end=" ")

# ___________________________________________________________________
# сортирует сначала четные потом нечетные
# def sorted_chet_i_nechet(listq):
#    list1 = []
#    list2 = []
#    for i in range(len(listq)):
#        if listq[i] % 2 == 0:
#            list2.append(listq[i])
#        elif listq[i] % 2 == 1:
#            list1.append(listq[i])
#    list1.sort()
#    list2.sort()
#    listq = list2 + list1
#   return listq
# _______________________________________________________________________
# сортирует сначала нечетные потом четные
# def sorted_chet_i_nechet(listq):
#    list1 = []
#    list2 = []
#    for i in range(len(listq)):
#        if listq[i] % 2 == 0:
#            list2.append(listq[i])
#        elif listq[i] % 2 == 1:
#            list1.append(listq[i])
#    list1.sort()
#    list2.sort()
#    listq = list1 + list2
#    return listq