include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define search(key, a, n) bsearch(key, a, n, sizeof(int), compare);
#define sort(a, n) qsort(a, n, sizeof(int), compare);
#define FOR(i, a, n) for(i = a; i < n; i++)
#define loop(i, n) FOR(i, 0, n)
#define read(n) scanf(" %d", &n)
typedef long long ll;
void swap(int *a, int *b)
{
int *temp;
*temp = *a;
*a = *b;
*b = *temp;
}
int min(int a, int b)
{
if(a > b)
return b;
return a;
}
int max(int a, int b)
{
if(a > b)
return a;
return b;
}
int gcd(int a, int b)
{
return(b == 0 ? a : gcd(b, a%b));
}
int compare (const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
int main()
{
char a[100], b[5] = { 'h', 'e', 'l', 'l', 'o' };
int flag = 0, len, i, j = 0, k;
scanf(" %s", a);
len = strlen(a);
loop(i, len)
{
if(a[i] == b[j])
{
if(j == 4)
{
printf("YES");
return 0;
}
//printf(" %d %d %c\n", i, j, b[j]);
j ++;
}
}
printf("NO");
return 0;
}