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.

If Vasya managed to say hello, print "YES", otherwise print "NO".

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Hitrez
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = Console.ReadLine();
            int t=0;
            for (int i = 0; i < str.Length; i++)
            {
                if (t == 0)
                {
                    if (str[i] == 'h') { t++; continue; }
                 //   else t = 0;
                }
                    if (t==1)
                {
                    if (str[i] == 'e') { t++; continue; }
                  //  if (str[i] != 'h') { t = 0; }
                }
                if (t==2)
                {
                    if (str[i] == 'l') { t++; continue; }
                   // if (str[i] != 'e') { t = 0; }
                }
                if (t==3)
                {
                    if (str[i] == 'l') { t++; continue; }
                //else t = 0;
                }
                if (t == 4)
                {
                    if (str[i] == 'o') { t++; continue; }
                   // if (str[i] != 'l') { t = 0; }
                }

            }
            if (t == 5) { Console.Write("YES"); }
            else Console.Write("NO");
            Console.ReadLine();
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string a = "hello";
            string b = Console.ReadLine();
            int c = 0;
            for (int i = 0; i < b.Length; i++)
            {
                if (b[i] == a[c])
                {
                    c++;
                }
                if (c == 5)
                {
                    break;
                }
            }
            if (c == 5)
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }
        }
    }
}

// A Dynamic Programming based
// C# program to find minimum
// number operations to
// convert str1 to str2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

class GFG
{

    public static void Main()
    {
        ///var t = int.Parse(Console.ReadLine());

        //while (t > 0)
        {
            // t--;
            // var n = int.Parse(Console.ReadLine());
            //var arr = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray();
            //var input = Console.ReadLine().Split();
            //var n = int.Parse(input[0]);
            //var m = int.Parse(input[1]);
            //var k = int.Parse(input[2]);
            // Split(n, arr);
            var str = Console.ReadLine();

            string ans = "hello";
            int k = 0;
            for(int i=0;i<str.Length;i++)
            {
                if(k<ans.Length&&str[i]==ans[k])
                {
                    k++;
                }
            }

            if (k == ans.Length)
                Console.Write("YES");
            else
                Console.Write("NO");

        }

    }

}

using System;
using System.Collections.Generic;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            String s = Console.ReadLine().ToString() ;
            String res = "";
            String[] table = new String[5] { "h", "e", "l", "l", "o" };

            int model = 0;

            for (int i = 0; i < s.Length; i++)
            {
                if (s[i].ToString().Equals(table[model].ToString()))
                {
                    res += table[model];
                    model++;
                }

                if (res.Equals("hello"))
                {
                    break;
                }
            }

            if (res.Equals("hello"))
            {
                Console.Write("YES");
            }

            else
            {
                Console.Write("NO");
            }

        }
    }
}

using System.Text.RegularExpressions;
using System;
 class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            Regex regex = new Regex(@".*h.*e.*l.*l.*o.*");
            Match match = regex.Match(input);
            if (match.Success)
            {
                Console.WriteLine("YES");
            }
            else
                Console.WriteLine("NO");
        }
    }

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {

        static void Main(string[] args)
        {

            string s = Console.ReadLine();

            if (Regex.IsMatch(s, (@"\w*h\w*e\w*l\w*l\w*o")))
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }

            Console.ReadLine();
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication75
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            int[] a = new int[4];
            string ss = " ";
            for (int i = 0; i < s.Length; i++)
            {
                switch (s[i])
                {
                    case 'h':
                        {
                            if (a[0] < 1)
                            {
                                a[0]++;
                                ss += s[i];

                            }
                            break;
                        }
                    case 'e':
                        {
                            if (a[1] < 1&&ss.Last()=='h')
                            {
                                a[1]++;
                                ss += s[i];
                            }
                            break;
                        }
                    case 'l':
                        {
                            if (a[2] < 2&&ss.Last()=='e'|| a[2] < 2 && ss.Last() == 'l')
                            {
                                a[2]++;
                                ss += s[i];
                            }break;
                        }
                    case 'o':
                        {
                            if (a[3] < 1&&ss.Last()=='l'&&a[2]==2)
                            {
                                a[3]++;
                                ss += s[i];
                            }break;
                        }

                }
            }
            ss = ss.Remove(0, 1);
            if (ss == "hello") Console.WriteLine("YES");
            else Console.WriteLine("NO");
        }
    }
}

using System;

namespace Sharp
{
    class Program
    {
        static void Main(string[] args)
        {
            string A = Console.ReadLine();
            char[] Alf = { 'h', 'e', 'l', 'l', 'o' };
            string B = "";
            int k = 0;

            foreach (char el in A)
            {
                if (el == Alf[k])
                {
                    B += el;
                    k++;
                }

                if (B.Equals("hello") == true)
                {
                    Console.WriteLine("YES");
                    break;
                }
            }

            if (B.Equals("hello") != true) Console.WriteLine("NO");

            Console.ReadLine();
        }
    }
}

using System;
using System.Text.RegularExpressions;

namespace Codeforces
{
    class Program
    {
        static void Main(string[] args)
        {
            _58A.Solve();
            Console.ReadLine();
        }
    }

    public class _58A
    {
        public static void Solve()
        {
            string s = Console.ReadLine();
            if (Regex.IsMatch(s, @"\w*h\w*e\w*l\w*l\w*o\w*", RegexOptions.IgnoreCase))
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");
        }
    }
}

using System;
class Test {
    static void Main(){
        string line = Console.ReadLine();
        string tmp = "";
        line.ToLower();
        for (int i = 0 ; i < line.Length ; i++){
           if(line[i] == 'h'){
               if(tmp.Length == 0){
                   tmp += line[i];
               }
           }
           if(line[i] == 'e'){
               if(tmp.Length == 1){
                   tmp += line[i];
               }
           }
           if(line[i] == 'l'){
               if(tmp.Length == 2 || tmp.Length == 3){
                   tmp += line[i];
               }
           }
           if(line[i] == 'o'){
               if(tmp.Length == 4){
                   tmp += line[i];
               }
           }
        }
        if(tmp == "hello"){
            Console.WriteLine("YES");
        } else {
            Console.WriteLine("NO");
        }
    }
}

using System;
using System.Text.RegularExpressions;

namespace Competitive.codeforces
{
    class _58A
    {
        static void Main(string[] args)
        {
            var s = Console.ReadLine();
            Console.WriteLine(Regex.IsMatch(s, "h.*e.*l.*l.*o") ? "YES" : "NO");
        }
    }
}

using System;
class Program
{
    static void Main(string[] args)
    {
        string name = Console.ReadLine();
        string hello = "hello";
        int i1, i2 = 0;
        for(i1=0;i1<name.Length;i1++)
        {
            if (hello[i2] == name[i1])
                i2++;
            if (i2 == 5)
                break;
        }
        Console.WriteLine(i2 == 5 ? "YES" : "NO");
    }
}

using System;

namespace ChatRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            string line = Console.ReadLine().ToLower();
            int counter = 0;
            string result = "NO";

            foreach (char chara in line)
            {
                if ((counter == 0 && chara == 'h')
                    || (counter == 1 && chara == 'e')
                    || ((counter == 2 || counter == 3) && chara == 'l'))
                {
                    counter++;
                }
                else if (counter == 4 && chara == 'o')
                {

                    result = "YES";
                    break;
                }

            }

            Console.WriteLine(result);
        }
    }
}

using System;
using System.Text.RegularExpressions;
public class Program
{
	public static void Main()
	{
		 string testingWord= Console.ReadLine();
		string searchingRegex=".*h.*e.*l.*l.*o.*";
		Regex rgx = new Regex(searchingRegex);
		Console.WriteLine(rgx.IsMatch(testingWord)?"YES":"NO");
	}
}

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            char[] lettere = new char[] { 'h', 'e', 'l', 'l', 'o' };
            int pos = 0;
            for (int i = 0; i < s.Length&&pos<lettere.Length; i++)
            {
                if (s[i] == lettere[pos])
                {
                    pos++;
                }
            }
            if (pos == lettere.Length)
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }
        }

    }
}

using System;

namespace Dictionary
{
    class Program
    {

        static void Main(string[] args)
        {
            char[] m = new char[] { 'h', 'e', 'l', 'l', 'o' };
            string s = Console.ReadLine();
            int count = 0;
            foreach (char c in s)
            {
                if (count <5 && c == m[count]) count++;
            }
            Console.Write(count == 5 ? "YES" : "NO");
        }

    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace prog1
{
    class Program
    {
        static void Main(string[] args)
        {
            //int n = int.Parse(Console.ReadLine());
            int x = 0;
            int y = 0;
            string s = Console.ReadLine();
            string t = "hello";
            //bool ans = false;
            //var a1 = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
            for (int i=0; i<s.Length; i++)
            {
                if(x<5)
                if(s[i]==t[x])
                {
                    x++;
                }

            }
            if(x==5)
            {
            Console.WriteLine("YES");
            }
            else
            Console.WriteLine("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Globalization;

namespace Чат
{
    class Program
    {
        static bool rek(int k, int j, string str, string str2)
        {
            if (j < str.Length)
            {
                if (str[j++] == str2[k])
                {
                    k++;
                    //Console.WriteLine("str[" + (j - 1) + "] = " + k);
                }
                if (k == str2.Length-1) return true;
                return rek(k, j, str, str2);
            }
            else return false;

        }

        static void Main(string[] args)
        {
            string str = Console.ReadLine();
            string str2 = "hellou";
            int k = 0;
            int j = 0;

            if (rek(k, j, str, str2)) Console.WriteLine("YES");
            else Console.WriteLine("NO");

            Console.ReadLine();
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            string str1 = "hello";
            string str2 = Console.ReadLine();

            int t = 0;
            int t1 = 0;
            int pos = 0;
            for (int i = 0; i < str1.Length; i++)
            {

                if(str2.IndexOf(str1[i], pos) > -1 )
                {
                    t = str2.IndexOf(str1[i], pos);
                    pos = t+1;
                    t1++;
                }

            }
            if (t1 == 5) Console.WriteLine("YES");
            else Console.WriteLine("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace A.Chat_room
{
    class Program
    {
        static void Main(string[] args)
        {
            string a = Console.ReadLine();
            bool check = false;
            string h = "hello";
            int j = 0;
            for (int i = 0; i < 5; ++i)
            {
                check = false;
                for (; j < a.Length; j++)
                {
                    if (h[i] == a[j])
                    {
                        check = true;
                        j++;
                        break;
                    }
                }
            }
            if (check)
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _58A
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = Console.ReadLine();
            str = str.ToLower();
            bool falg = false;
            int index = 0;
            for (; index < str.Length; index++)
            {
                if (str[index] == 'h')
                {
                    ++index;
                    break;
                }
            }
            for (; index < str.Length; index++)
            {
                if (str[index] == 'e')
                {
                    ++index;
                    break;
                }
            }
            for (; index < str.Length; index++)
            {
                if (str[index] == 'l')
                {
                    ++index;
                    break;
                }
            }
            for (; index < str.Length; index++)
            {
                if (str[index] == 'l')
                {
                    ++index;
                    break;
                }
            }
            for (; index < str.Length; index++)
            {
                if (str[index] == 'o')
                {
                    ++index;
                    falg = true;
                    break;
                }
            }
            if (falg)
            {
                Console.WriteLine("YES");
                return;
            }
            Console.WriteLine("NO");
            return;
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Codeforces
{
    class Chatroom
    {
        public static void Main()
        {
            String str = Console.ReadLine();

            char cur = 'h';
            int ln = 0;
            for (int i = 0; i < str.Length; i++)
            {
                if (str[i] == cur)
                {
                    if (cur == 'h')
                        cur = 'e';
                    else if (cur == 'e')
                        cur = 'l';
                    else if (cur == 'l')
                    {
                        if (ln == 0)
                            ln++;
                        else if (ln == 1)
                            cur = 'o';
                    }

                    else if (cur == 'o')
                        cur = 'k';
                }
            }
            if (cur == 'k')
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");

            //Console.ReadKey();
        }

    }
}

using System;
class Program
{
  static void Main()
  {
    char[] x = { 'h', 'e', 'l', 'l', 'o' };
    string line = Console.ReadLine();
    byte i, result = 0, y = 0;
    for (i = 0; i < line.Length; i++)
    {
      if (line[i] == x[y])
      {
        result++;
        y++;
    }
    if (y == 5) break;
  }
  Console.WriteLine(result == 5 ? "YES" : "NO");
  }
}

using System;
using System.Linq;

namespace Chat_room
{
    class Program
    {
        static void Main(string[] args)
        {
            string s=Console.ReadLine();
            string s2 = "";
            int l = 0;
            foreach (var item in s)
            {
                if(item=='h'|| item == 'e' || item == 'l' || item == 'o')
                {

                    if(s2 == "" && item =='h')
                           s2 += item;
                    else if(s2 == "h" && item == 'e')
                        s2 += item;
                    else if (item =='l' && l<2&& s2.Contains("he"))
                    {
                        l++;
                        s2 += item;
                    }
                    else if (s2 == "hell" && item == 'o')
                        s2 += item;

                }
            }
            if(s2=="hello")
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");
        }
    }
}

using System;

namespace _58A
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            string hello = "hello";
            int  j = 0;

            for(int i = 0; i < s.Length; i++)
            {
                if(s[i] == hello[j])
                {
                    j++;
                    if(j == 5)
                    {
                        break;
                    }
                }
            }
            if(j == 5)
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }
        }

    }
}

using System;
using System.Text.RegularExpressions;

public class Program
{
    public static void Main()
    {
        var input = Console.ReadLine();

        var r = new Regex(@"h+.*e+.*l+.*l+.*o+");
        var match = r.Match(input);

        if(match.Success)
        {
             Console.WriteLine("YES");
        }
        else
        {
            Console.WriteLine("NO");
        }

    }
}

using System;
using System.Text.RegularExpressions;

namespace Watermelon
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            int[] index = { 0, 0, 0, 0, 0 };

            string hello = "hello";
            for (int i = 0; i < 5; i++)
            {
                index[i] = input.IndexOf(hello[i], i==0 ? 0 : index[i-1]+1);
            }
            bool answer = true;
            for (int i = 0; i < 4; i++)
            {
                if(index[i] >= index[i+1])
                {
                    answer = false;
                    Console.WriteLine("NO");
                    break;
                }
            }

            if (answer == true)
            {
                Console.WriteLine("YES");
            }

        }
    }
}

using System;

namespace CodeForces
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            bool canHello = false;

            if (Contains(input, 'h'))
            {
                int index = IndexOf(input, 'h');
                string _input = Substring(input, index + 1);

                if (Contains(_input, 'e'))
                {
                    index = IndexOf(_input, 'e');
                    _input = Substring(_input, index + 1);

                    if (Contains(_input, 'l'))
                    {
                        index = IndexOf(_input, 'l');
                        _input = Substring(_input, index + 1);

                        if (Contains(_input, 'l'))
                        {
                            index = IndexOf(_input, 'l');
                            _input = Substring(_input, index + 1);

                            if (Contains(_input, 'o'))
                            {
                                canHello = true;
                            }
                        }
                    }
                }
            }

            if (canHello) System.Console.WriteLine("YES");
            else System.Console.WriteLine("NO");
        }

        static string Substring(string s, int index)
        {
            string output = "";

            for (int i = index; i < s.Length; i++)
            {
                output += s[i];
            }

            return output;
        }

        static int IndexOf(string s, char c)
        {
            for (int i = 0; i < s.Length; i++)
            {
                if (c == s[i]) return i;
            }

            return -1;
        }

        static bool Contains(string s, char c)
        {
            foreach (char x in s)
            {
                if (x == c) return true;
            }

            return false;
        }

        static bool IsLuckyNumber(int number)
        {
            bool lucky = false;

            while (number != 0)
            {
                int lastDigit = LastDigit(number);
                number /= 10;

                if (lastDigit != 4 || lastDigit != 7) return false;
                else lucky = true;
            }

            if (lucky) return lucky;

            for (int i = number-1; i > 0; i--)
            {
                if (number % i == 0 && IsLuckyNumber(i))
                    return true;
            }

            return false;
        }

        static int LastDigit(int number)
        {
            return 0;
        }

        static char ToLower(char c)
        {
            return (c >= 'A' && c <='Z') ? (char)(c + 32) : c;
        }

        static bool Contains(char[] arr, char c)
        {
            foreach (char x in arr)
            {
                if (x == c) return true;
            }

            return false;
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace W0lf
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            int z = 0;
            for(int i = 0; i < s.Length; i++)
            {
                if(z == 0 && s[i] == 'h') z++;
                else if(z == 1 && s[i] == 'e') z++;
                else if(z == 2 && s[i] == 'l') z++;
                else if(z == 3 && s[i] == 'l') z++;
                else if(z == 4 && s[i] == 'o')
                {
                    Console.WriteLine("YES");
                    Console.ReadLine();
                    return;
                }
            }
            Console.WriteLine("NO");
            Console.ReadLine();
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Text.RegularExpressions;

namespace acm
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();

            List<int> ind = new List<int>();

            int sm = 0;

            ind.Add(s.IndexOf('h'));
            sm += s.IndexOf('h');
            s = s.Substring(s.IndexOf('h') + 1);

            ind.Add(s.IndexOf('e') + sm);
            sm += s.IndexOf('e');
            s = s.Substring(s.IndexOf('e') + 1);

            ind.Add(s.IndexOf('l') + sm);
            sm += s.IndexOf('l');
            s = s.Substring(s.IndexOf('l') + 1);

            ind.Add(s.IndexOf('l') + sm);
            sm += s.IndexOf('l');
            s = s.Substring(s.IndexOf('l') + 1);

            ind.Add(s.IndexOf('o') + sm);
            sm += s.IndexOf('o');
            s = s.Substring(s.IndexOf('o') + 1);

            List<int> test = new List<int>(ind);

            test.Sort();

            if (ind.SequenceEqual(test))
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");

        }

    }

}

using System;

namespace CF_Hello {
    class Program {
        static void Main(string[] args) {
            char[] input = Console.ReadLine().ToCharArray();
            string example = "hello";
            string output = string.Empty;
            int i = 0;
            int deleted = 0;
            while ((deleted != 5) && (i < input.Length)) {
                if (input[i] == example[deleted]) {
                    output += input[i];
                    if (output == "hello") {
                        Console.WriteLine("YES");
                        return;
                    }
                    ++deleted;
                }
                ++i;
            }
            Console.WriteLine("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;

namespace Algo
{
   class Program
   {
      static void Main()
      {
         //Console.SetIn(File.OpenText(@"C:\Users\user\Documents\Visual Studio 2015\Projects\Algo\Algo\input.txt"));

         string str = Console.ReadLine();
         var helloChars = new Stack<char>("olleh");

         foreach (char c in str) {
            if (helloChars.Count == 0)
               break;

            if (c == helloChars.Peek())
               helloChars.Pop();
         }

         if (helloChars.Count == 0)
            Console.WriteLine("YES");
         else
            Console.WriteLine("NO");
      }
   }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Trainig_App
{
    class Program
    {
        static void Main(string[] args)
        {
            String input = Console.ReadLine();
            char[] helloWord = new char[] { 'h', 'e', 'l', 'l', 'o' };
            char[] inputArray = input.ToCharArray();
            int counter = 0;
            foreach(char c in inputArray)
            {
                if (c == helloWord[counter])
                    counter++;

                if (counter > 4)
                    break;
            }

            if (counter > 4)
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");
        }
    }
}

using System;
namespace codeforces
{
    class Program
    {
        static void Main(string[] args)
        {
            ChatRoom hm = new ChatRoom();
            hm.IsHello();
            Console.ReadLine();
        }
    }
    public class ChatRoom
    {
        public void IsHello()
        {
            char[] input = Console.ReadLine().ToCharArray();
            char[] hello = new char[]
            {
                'h','e','l','l','o'
            };
            int helloCount = 0;
            string result = "NO";
            foreach (char c in input)
            {
                if (c == hello[helloCount])
                {
                    helloCount++;
                }
                if (helloCount == 5)
                {
                    result = "YES";
                    break;
                }
            }

            Console.WriteLine(result);
        }
    }
}

using System;

namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine().ToLower();
            int size = s.Length;
            int count = 0;
            for(int i = 0; i < size; i++)
            {
                if (s[i] == 'h'&& count==0)
                    count++;
                else if(s[i] == 'e' && count == 1)
                    count++;
                else if (s[i] == 'l' && count == 2|| count == 3)
                    count++;
                else if (s[i] == 'o' && count == 4)
                {
                    count++;
                    break;
                }
            }
            if (count == 5)
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");
        }
    }
}

using System;
using System.Linq.Expressions;
using System.Runtime.CompilerServices;
using System.Security.Cryptography.X509Certificates;
using System.Text;

namespace ConsoleApp1
{
    internal class Program
    {

        private static void Main(string[] args)
        {

            string vasylaHello = Console.ReadLine();

            string hi = "hello";

            int k = 0;

           for (int i = 0; i < vasylaHello.Length; i++)
            {
                if (k < 5)
                {
                    if (vasylaHello[i] == hi[k])
                    {
                        k++;
                    }
                }

            }
           if (k == 5)
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }

        }

    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {

        static int ReadIntLine()
        {
            return int.Parse(Console.ReadLine());
        }

        static int[] ReadIntArrayLine()
        {
            char[] sep = { ' ' };
            return Console.ReadLine().Split(sep, StringSplitOptions.RemoveEmptyEntries).Select(x => int.Parse(x)).ToArray();
        }

        static void PrintLn(object obj)
        {
            Console.WriteLine(obj.ToString());
        }

        static void Main(string[] args)
        {

            string a = Console.ReadLine();

            string h = "hello";

            int state = 0;

            for (int i = 0; i < a.Length; i++)
            {
                if (a[i] == h[state])
                    state++;
                if (state == h.Length)
                    break;
            }

            Console.WriteLine((state == h.Length)?"YES":"NO");

        }
    }
}

using System;

namespace CF_Hello {
    class Program {
        static void Main(string[] args) {
            char[] input = Console.ReadLine().ToCharArray();
            string example = "hello";
            string output = string.Empty;
            int i = 0;
            int deleted = 0;
            while ((deleted!=5) && (i < input.Length)) {
                if (input[i] == example[0]) {
                    output += input[i];
                    example = example.Remove(0, 1);
                    ++deleted;
                }
                ++i;
            }
            if (output == "hello") {
                Console.WriteLine("YES");
                return;
            }
            Console.WriteLine("NO");
        }
    }
}

using System;
using System.Linq;
using System.Collections.Generic;

namespace Test1
{
    public class Test1
    {
        public static void Main()
        {
            string input = Console.ReadLine();
            string hello = "hello";
            bool matchFound = false;
            int five = 0;
            int index = 0;
            for (int i = 0; i < input.Length; i++)
            {
                if (input[i] == hello[index])
                {
                    five++;
                    index++;
                    if (five == 5) { matchFound = true; break; }
                }
            }

            Console.WriteLine(matchFound ? "YES" : "NO");
        }
    }
}

using System;
public class Hello{
	static void Main(){
		String s = Console.ReadLine();
		String x= "hello";
		int pos=0;
		// int cur=-1;
		for(int i=0; i<s.Length; i++){
			if(pos==5)
				break;
			if(s[i]== x[pos]){
				pos++;
			}
			// else if(cur !=-1 && s[i]==x[cur]){
			// 	continue;
			// }
			// else if(cur !=-1){
			// 	break;
			// }
		}
		if(pos==5){
			Console.WriteLine("YES");
		}
		else{
			Console.WriteLine("NO");
		}
	}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _58A_ChatRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            if (s == "hello")
                Console.WriteLine("YES");
            else
            {

                int h, e, l, o;
                h = s.IndexOf('h');
                e = s.IndexOf('e', h + 1);
                l = s.IndexOf('l', e + 1);
                o = s.IndexOf('o', l + 1);

                if (h < 0 || e < 0 || l < 0 || o < 0 || (s.Length < 6))
                    Console.WriteLine("NO");
                else
                {
                    int first_l, second_l;
                    first_l = s.IndexOf("l",h+1);
                    second_l = s.IndexOf("l", first_l + 1);

                    if (second_l < 0)
                        Console.WriteLine("NO");
                    else
                        Console.WriteLine("YES");
                }
            }

        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Chat_Room_58A
{
    class Program
    {
        static void Main(string[] args)
        {
            var s = Console.ReadLine();
            var hello = "hello";

            for (int i=0; i<5; i++) {
                var index = s.IndexOf(hello[i]);
                if (index == -1)
                {
                    Console.WriteLine("NO");
                    return;
                }
                s = s.Substring(index + 1);
            }
            Console.WriteLine("YES");

        }
    }
}

using System;
using System.Diagnostics.CodeAnalysis;

namespace Team
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();

            string hello = "hello";
            int a = 0, b = 0;

            for(int i = 0; i < input.Length; i++)
            {
                if(input[i] == hello[a])
                {
                    a++;
                    b++;
                }
                if(a == 5)
                {
                    break;
                }
            }

            if(b == 5)
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }
        }
    }
}

using System;
using System.Text.RegularExpressions;

namespace _58A_Chat
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = Console.ReadLine();
            Regex regex = new Regex(@".*h.*e.*l.*l.*o.*");
            MatchCollection matches = regex.Matches(str);
            if (matches.Count>0)
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }

        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CodeForces
{
    class Program
    {
        static void Main(string[] args)
        {
            string BaseWord = "hello";
            string s = Console.ReadLine().ToLower();
            int i = 0;
            string temp = string.Empty;

            if (s.Length < 5)
            {
                Console.WriteLine("NO");
                return;
            }

            for (int j = 0; j < BaseWord.Length; j++)
            {
                for (; i < s.Length; i++)
                {

                    if (BaseWord[j] == s[i])
                    {
                        temp += i + ",";
                        i++;
                        break;
                    }
                }

            }
            temp = temp.Remove(temp.Length - 1);
            int[] indexes = Array.ConvertAll(temp.Split(','), int.Parse);

            if (indexes.Length != 5)
            {
                Console.WriteLine("NO");
            }
            else
            {
                Console.WriteLine(checkedIfSorted(indexes, indexes.Length) ? "YES" : "NO");

            }

        }

        public static bool checkedIfSorted(int[] arr, int length)
        {

            if (length == 0 || length == 1)
            {
                return true;
            }

            if (arr[length - 2] > arr[length - 1])
            {

                return false;
            }

            return checkedIfSorted(arr, length - 1);

        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {

        static void Main(string[] args)
        {

            string s = Console.ReadLine();

            if (Regex.IsMatch(s, (@"\w*h\w*e\w*l\w*l\w*o")))
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }

            Console.ReadLine();
        }
    }
}

using System;

namespace CF_Hello {
    class Program {
        static void Main(string[] args) {
            char[] input = Console.ReadLine().ToCharArray();
            string example = "hello";
            string output = string.Empty;
            int deleted = 0;
            for(int i=0;i<input.Length;i++) {
                if (input[i] == example[deleted]) {
                    output += input[i];
                    ++deleted;
                }
                if (output == "hello") {
                    Console.WriteLine("YES");
                    return;
                }
            }
            Console.WriteLine("NO");
        }
    }
}

using System;
class Program
{
  static void Main()
  {
    char[] x = { 'h', 'e', 'l', 'l', 'o' };
    string line = Console.ReadLine();
    byte i, result = 0, y = 0;
    for (i = 0; i < line.Length; i++)
    {
      if (line[i] == x[y])
      {
        result++;
        y++;
    }
    if (y == 5) break;
  }
  Console.WriteLine(result == 5 ? "YES" : "NO");
  }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EO
{
    class Program
    {
        static void Main(string[] args)
        {
            string x = Console.ReadLine();
            string op = "hello";
            int j = 0;
            int sum = 0;
            for (int i = 0; i < x.Length; i++)
            {
                if (sum == 5)
                {
                    break;
                }
                else
                {
                    if (x[i] == op[j])
                    {
                        j++;
                        sum++;
                    }
                }
            }
            if (sum==5)
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace ProblemN
{
	class Program
	{
		static void Main(string[] args)
		{
			Console.WriteLine(Regex.Match(Console.ReadLine().Trim(), "h+.*e+.*l+.*l+.*o+").Success ? "YES" : "NO");
		}
	}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Hello2
{
    class Program
    {
        static void Main(string[] args)
        {
            var word1 = Console.ReadLine(); //hello
            var word2 = "hello";
            var c = 0;

            foreach (var item in word1)
            {

                if (item == word2[c])
                    c++;
                if (c == 5)
                    break;
            }
            if (c==5)
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CodeForces1
{
    class Program
    {
        static void Main(string[] args)
        {
            char[] symbols = { 'h', 'e', 'l', 'l', 'o' };
            string inputString = Console.ReadLine();

            int count = 0;

            foreach(char c in inputString)
            {
                if(count<5
                    && c == symbols[count])
                {
                    count++;
                }
            }

            Console.WriteLine(count == 5 ? "YES" : "NO");
        }
    }
}

using System;

public class Test
{
	public static void Main()
	{
		string input = Console.ReadLine();

		bool input2 = RebuildString(input);

		Console.WriteLine(input2==true?"YES":"NO");
	}

	public static bool RebuildString(string input)
	{

		int hello = 0;

		char[] alph = new char[]{'h','e','l','l','o'};

		for(int x=0;x<input.Length;x++){
			if(input[x]==alph[hello]){
				hello++;
			}
			if(hello==5){ return true;}
		}

		return false;
	}
}

using System;
using System.Text.RegularExpressions;

namespace Codeforces
{
    class Codeforces
    {
        public static void Main(string[] args)
        {
            Console.Write(Regex.IsMatch(Console.ReadLine(), @"h\w*e\w*l\w*l\w*o") ? "YES" : "NO");
        }
    }
}

using System;

namespace ChatRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            string line = Console.ReadLine().ToLower();
            int counter = 0;
            string result = "NO";

            foreach (char chara in line)
            {
                if ((counter == 0 && chara == 'h')
                    || (counter == 1 && chara == 'e')
                    || ((counter == 2 || counter == 3) && chara == 'l'))
                {
                    counter++;
                }
                else if (counter == 4 && chara == 'o')
                {

                    result = "YES";
                    break;
                }

            }

            Console.WriteLine(result);
        }
    }
}

using System;

namespace codePro
{
    class Program
    {
        static void Main(string[] args)
        {
            string h = "hello", s="", input = Console.ReadLine();
            int n = 0;

            foreach (char item in input)
                if (item == h[n]) { s += h[n]; n += 1; if (n == 5)break; }

            if (s == h) Console.Write("YES");
            else Console.Write("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ChatRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            string IN = Console.ReadLine();
            char[] InC = IN.ToCharArray();
            int c = 0;
            bool final = false;
            for (int i = InC.Length-1; i > 0; i--)
            {
                if(InC[i]=='o')
                {
                    c++;
                    for (int d = i-1; d > 0; d--)
                    {
                        if(InC[d]=='l')
                        {
                            c++;
                            for (int j = d-1; j > 0; j--)
                            {
                                if(InC[j]=='l')
                                {
                                    c++;
                                    for (int k = j-1; k >0; k--)
                                    {
                                        if(InC[k]=='e')
                                        {
                                            c++;
                                            for (int m = k-1; m >=0; m--)
                                            {
                                                if(InC[m]=='h')
                                                {
                                                    c++; final = true;
                                                    break;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            if(c>=5&&final)
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }
        }
    }
}

using System;
class Chat_room
{
    static void Main(string[] args)
    {
        string s = Console.ReadLine().ToLower();
        char[] t = { 'h', 'e', 'l', 'l', 'o' };
        int loc = 0;
        for (int i = 0; i < s.Length; i++)
        {
            if(s[i] == t[loc])
            {
                loc++;
            }
            if (loc == 5)
            {
                Console.WriteLine("YES");
                break;
            }
        }
        if(loc < 5)
        {
            Console.WriteLine("NO");
        }

    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace A.Chat_room
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            string Hello = "hello";
            int index = 0;
            for (int i = 0; i < input.Length; i++)
            {
                if (input[i]==Hello[index])
                {
                    index++;
                }
                if (index==5)
                {
                    break;
                }
            }
            Console.WriteLine(index == 5 ? "YES" : "NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace Implemetation
{
    class Program
    {
        static void Main(string[] args)
        {
            //string input = Console.ReadLine();
            //Console.WriteLine(Football(input));
            //int result=Petya_and_Strings(Console.ReadLine(), Console.ReadLine());
            //Console.WriteLine(result);
            //Helpful_Maths(Console.ReadLine());
            //Word_Capitalization(Console.ReadLine());
            //Taxi(int.Parse(Console.ReadLine()));
            //Console.WriteLine(Math.Ceiling((double)13/5));

            //Console.WriteLine(Regex.IsMatch(Console.ReadLine(), @"[1-4]((\s[1-4])+)?"));

            string text = Console.ReadLine();
            string res=Chat_Room(text);
            Console.WriteLine(res.Contains("hello") ? "YES" : "NO");
        }
        static string Chat_Room(string text)
        {

            if (!Regex.IsMatch(text, @"^[a-z]{1,100}$")) return "";

            //string Result = "";
            Queue<char> StackResult = new Queue<char>();

            char[] word = { 'h', 'e', 'l', 'l', 'o' };
            int position = 0;

            foreach (char c in text)
            {

                if (word[position] == c)
                {
                    //Result += c;
                    StackResult.Enqueue(c);
                    position++;
                    if (position == word.Length) break;
                }
                else
                {
                    //if (Result != "")
                    if (StackResult.Count > 0)
                    {
                        if (StackResult.Peek() == c) continue;
                        //if (Result[position - 1] == c) continue;
                        //else break;
                    }
                }

            }

            //Console.WriteLine(Result.Contains("hello")?"YES":"NO");
            //Console.WriteLine(Result.Equals("hello")?"YES":"NO");
            return string.Join("", StackResult.ToArray());

        }
        static void Taxi(int input)
        {
            if (input < 1 || input > Math.Pow(10, 5)) return;
            string strnumbers = Console.ReadLine();
            if (!Regex.IsMatch(strnumbers, @"[1-4](\s[1-4])+")) return;

            int[] nums=strnumbers.Split(' ').Select(num=>int.Parse(num)).ToArray();
            if (nums.Length != input) return;

            Console.WriteLine(Math.Ceiling((double)nums.Sum() / 4));

        }
        static void Word_Capitalization(string input)
        {
            if (input.Length > Math.Pow(10, 3)) return;

            string result;

            if (input[0] >= 97)
            {
                char c = input[0];
                int cint = c - 32;
                char res = (char)cint;
                result = res + input.Substring(1, input.Length - 1);
                Console.WriteLine(result);
            }
            else
            {
                Console.WriteLine(input);
            }
        }
        static void Helpful_Maths(string input)
        {
            string pattern = @"[1-3]{1,100}\+?";
            if (!Regex.IsMatch(input, pattern)) return;

            List<int> numbers = input.Split('+').Select(item => int.Parse(item)).ToList();
            numbers.Sort();
            string Result = "";

            foreach (int i in numbers)
                Result += i + "+";

            Console.WriteLine(Result.Substring(0, Result.Length - 1));
        }
        static int Petya_and_Strings(params string[] inputs)
        {
            if (inputs[0].Length != inputs[1].Length) return -1;

            return inputs[0].ToLower().CompareTo(inputs[1].ToLower());
        }
        static string Football(string input)
        {
            //string Pattern = @"^[0-1]{1,100}$";
            if (!Regex.IsMatch(input, @"^[0-1]{1,100}$")) return "NO";

            return input.Contains("0000000") || input.Contains("1111111") ? "YES" : "NO";
        }
        static bool Match(string text)
        {
            return Regex.IsMatch(text, @"^[0-1] [0-1] [0-1]$", RegexOptions.Singleline);
        }
        static int Team(int Problems)
        {
            string temp;
            int count = 0;
            string[] t = { "1 1 1", "1 1 0", "1 0 1", "0 1 1" };
            for (int i = 0; i < Problems; i++)
            {
                temp = Console.ReadLine();
                if (!Match(temp)) return 0;
                if (t.Contains(temp))
                {
                    count++;
                }
            }
            return count;
        }

        static int BitPlusPlus(int Operations)
        {

            int Result = 0;
            string temp;
            if (Operations >= 1 && Operations <= 150)
            {
                for (int i = 0; i < Operations; i++)
                {
                    temp = Console.ReadLine();
                    if (!Regex.IsMatch(temp, @"^([\+-]{2})?[a-zA-Z]([\+-]{2})?$")) return 0;

                    int index = temp.IndexOfAny(new char[] { '-', '+' });
                    if (index != -1 && index > 2)
                    {
                        if (temp[index] == '+')
                            Result++;
                        else
                            Result--;
                    }
                    else if (index != -1 && index < 2)
                    {
                        if (temp[index] == '+')
                            ++Result;
                        else
                            --Result;
                    }

                }
            }
            return Result;
        }
    }
}

using System;

namespace CF_Hello {
    class Program {
        static void Main(string[] args) {
            char[] input = Console.ReadLine().ToCharArray();
            string example = "hello";
            string output = string.Empty;
            int i = 0;
            int deleted = 0;
            while ((deleted!=5) && (i < input.Length)) {
                if (input[i] == example[0]) {
                    output += input[i];
                    example = example.Remove(0, 1);
                    ++deleted;
                }
                ++i;
            }
            if (output == "hello") {
                Console.WriteLine("YES");
                return;
            }
            Console.WriteLine("NO");
        }
    }
}

using System;
using System.Text.RegularExpressions;

namespace CodeForces
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            Regex regex = new Regex(@"h+\S*e+\S*l+\S*l+\S*o+\S*", RegexOptions.IgnoreCase | RegexOptions.Compiled);
            Console.WriteLine(regex.IsMatch(s) ? "YES" : "NO");
        }
    }
}

using System;

class A58 {
	public static bool ContainHello(string input) {
        var next = 0;
        foreach (char c in "hello") {
			var start = next;
			for (int i = start; i < input.Length; ++i) {
				if (input[i] == c) {
					next = i + 1;
					break;
				}
			}
			if (start == next) return false;
		}
		return true;
	}

    public static void Main() {
        var input = Console.ReadLine();
        if (ContainHello(input)) {
			Console.WriteLine("YES");
		} else {
			Console.WriteLine("NO");
		}
	}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace algo
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            char[] s1 = s.ToCharArray();
            char[] hello = new char[5];
            hello[0] = 'h';
            hello[1] = 'e';
            hello[2] = 'l';
            hello[3] = 'l';
            hello[4] = 'o';

            int sum = 0;
            int x = 0;

            for (int i = 0; i < 5; i++) {
                for (int j = x; j < s.Length; j++) {
                    x++;
                    if(hello[i]==s1[j]){
                        sum++;
                        break;
                    }
                }
                if (sum == 5) {
                    break;
                }
            }
            if (sum == 5)
            {
                Console.WriteLine("YES");
            }
            else
                Console.WriteLine("NO");
        }
    }
}

using System;
class Program
{
    static void Main()
    {
        var s = Console.ReadLine();
        int i = 0;
        foreach (var l in "hello")
        {
            if ((i = s.IndexOf(l, i)) < 0)
            {
                Console.WriteLine("NO");
                return;
            }
            i++;
        }
        Console.WriteLine("YES");
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ChatRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();//input word 1 <= s <= 100
            string chk = "hello";//checking string

            //process to check if the input string is "hello"
            int i = 0;
            int flag = 0;
            foreach (char letter in chk)
            {
                flag = 0;
                while (i < s.Length)
                {
                    if (letter == s[i])
                    {
                        flag = 1;
                        i++;
                        break;
                    }
                    i++;
                }
            }

            //display output
            if (flag == 1)
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }
        }
    }
}

using System;

namespace CF_Hello {
    class Program {
        static void Main(string[] args) {
            string input = Console.ReadLine();
            string example = "hello";
            string output = string.Empty;
            int deleted = 0;
            for(int i=0;i<input.Length;i++) {
                if (input[i] == example[deleted]) {
                    output += input[i];
                    ++deleted;
                }
                if (deleted == 5) {
                    Console.WriteLine("YES");
                    return;
                }
            }
            Console.WriteLine("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;

class Problem
{
    public static void Main()
    {
        var allowed = new Dictionary<char, int>
        {
            { 'h', 1 },
            { 'e', 1 },
            { 'l', 2 },
            { 'o', 1 }
        };

        var prev = new Dictionary<char, char>
        {
            { 'e', 'h' },
            { 'l', 'e' },
            { 'o', 'l' }
        };

        string word = Console.ReadLine();

        for (int i = 0; i < word.Length; i++)
        {
            if (allowed.ContainsKey(word[i]))
            {
                if (word[i] == 'h')
                {
                    allowed[word[i]]--;
                }
                else
                {
                    if (word[i] == 'l')
                    {
                        if (allowed['l'] == 2)
                        {
                            if (allowed[prev['l']] <= 0)
                            {
                                allowed['l']--;
                            }
                        }
                        else
                        {
                            allowed['l']--;
                        }
                    }
                    else
                    {
                        if (allowed[prev[word[i]]] <= 0)
                        {
                            allowed[word[i]]--;
                        }
                    }
                }
            }
        }

        Console.WriteLine(allowed.All(x => x.Value <= 0) ? "YES" : "NO");
        //var letters = new LinkedList<char>(Console.ReadLine().ToCharArray());

        //LinkedListNode<char> current = letters.First;

        //while (current != null)
        //{
        //    var next = current.Next;
        //    if (!allowed.Contains(current.Value))
        //    {
        //        letters.Remove(current);
        //    }
        //    else if (current.Value == 'h')
        //    {
        //        if (current.Next != null && current.Next.Value != 'e')
        //        {
        //            letters.Remove(current.Next);
        //        }
        //    }
        //    else if (current.Value == 'e')
        //    {
        //        if (current.Next != null && current.Next.Value != 'l')
        //        {
        //            letters.Remove(current.Next);
        //        }
        //    }
        //    else if (current.Value == 'l')
        //    {
        //        if (current.Next != null)
        //        {
        //            if (current.Previous != null && current.Previous.Value == 'e' && current.Next.Value != 'l')
        //            {
        //                letters.Remove(current.Next);
        //            }
        //            else if (current.Previous != null && current.Previous.Value == 'l' && current.Next.Value != 'o')
        //            {
        //                letters.Remove(current.Next);
        //            }
        //        }
        //    }
        //    current = next;
        //}

    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication17
{
    class Program
    {

        static void Main(string[] args)
        {

            StringBuilder word = new StringBuilder(Console.ReadLine());
            byte ResPointer =0;

           char c ;
            for (byte i = 0; i < word.Length ; i++)
            {
                c = word[i];
               switch(c)
               {
                   case 'h':

                       if(ResPointer==0)
                       {
                           ResPointer++;
                       }

                       break;
                   case 'e':

                       if (ResPointer == 1)
                       {
                           ResPointer++;
                       }

                       break;
                   case 'l':

                       if (ResPointer == 2 || ResPointer ==3)
                       {
                           ResPointer++;
                       }

                       break;
                   case 'o':

                       if (ResPointer ==4)
                       {
                           ResPointer++;
                       }

                       break;

               }

            }
            if (ResPointer == 5)
            {
                Console.WriteLine("YES");
            }
            else
                Console.WriteLine("NO");

    }

    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace A.Chat_room
{
    class Program
    {
        static void Main(string[] args)
        {
            char[] table = { 'h', 'e', 'l', 'l', 'o' };
            string myText = Console.ReadLine();
            int k = 0;

            for (int i = 0; i < myText.Length; i++)
            {
                if (k > 4) break;
                if (myText[i] == table[k]) {
                    k++;
                }

            }

            if (k == 5) Console.WriteLine("YES");
            else Console.WriteLine("NO");

        }
    }
}

using static System.Console;

class a
{
    static void Main()
    {
        var s = ReadLine();
        var a = "hello";
        int j = 0;
        for (int i = 0; i < s.Length && j < 5; i++){ if (s[i] == a[j]) j++;}
        WriteLine(j > 4 ? "YES" : "NO");
    }
}

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            String s = Console.ReadLine().ToString() ;
            String res = "";
            char[] table = new char[5] { 'h', 'e', 'l', 'l', 'o'};

            int model = 0;

            for (int i = 0; i < s.Length; i++)
            {

                if (s[i]==(table[model]))
                {
                    res += table[model];
                    model++;
                }

                if (res.Equals("hello"))
                {
                    break;
                }
            }
            Console.WriteLine(res.Equals("hello") ? "YES" : "NO");
        }
    }
}

using System;

namespace _58A
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            string hello = "hello";
            int  j = 0;

            for(int i = 0; i < s.Length; i++)
            {
                if(s[i] == hello[j])
                {
                    j++;
                    if(j == 5)
                    {
                        break;
                    }
                }
            }
            if(j == 5)
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }
        }

    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace W0lf
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            int z = 0;
            for(int i = 0; i < s.Length; i++)
            {
                if(z == 0 && s[i] == 'h') z++;
                else if(z == 1 && s[i] == 'e') z++;
                else if(z == 2 && s[i] == 'l') z++;
                else if(z == 3 && s[i] == 'l') z++;
                else if(z == 4 && s[i] == 'o')
                {
                    Console.WriteLine("YES");
                    Console.ReadLine();
                    return;
                }
            }
            Console.WriteLine("NO");
            Console.ReadLine();
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _58A
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = Console.ReadLine();
            int index = -1, tindex = 0;
            bool flag = false, tflag = false;
            string target = "hello";
            while (!tflag)
            {
                flag = false;
                for (int i = index + 1; i < str.Length; i++)
                {
                    if (str[i].ToString() == target[tindex].ToString())
                    {
                        tindex++;
                        index = i;
                        flag = true;
                        break;
                    }
                }
                if (!flag)
                {
                    break;
                }
                if (tindex == 5)
                {
                    break;
                }
            }

            if (flag)
            {
                Console.Write("YES");
            }
            else
            {
                Console.Write("NO");
            }
            Console.ReadLine();
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _4._2
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            bool h = false, e = false, l1 = false, l2 = false, o = false;
            for (int i = 0; i < s.Length; i++)
            {
                if (!h && s[i] == 'h')
                    h = true;
                else if (h && !e && s[i] == 'e')
                    e = true;
                else if (e && !l1 && s[i] == 'l')
                    l1 = true;
                else if (l1 && !l2 && s[i] == 'l')
                    l2 = true;
                else if (l2 && !o && s[i] == 'o')
                    o = true;
            }

            if (h && e && l1 && l2 && o)
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");
        }
    }
}

using System;
using System.Text.RegularExpressions;

namespace Chat
{

  class ChattyBoy
  {

    static void Main(string[] args)
    {
      string s = Console.ReadLine();
      Regex condfilter = new Regex("[a-z]*h+[a-z]*e+[a-z]*l+[a-z]*l+[a-z]*o+[a-z]*");
      if (condfilter.IsMatch(s) == true)
        Console.WriteLine("YES");
      else Console.WriteLine("NO");

    }

  }

}

using System;
using System.Collections.Generic;

namespace A._Chat_room
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            List<char> list = new List<char>(input);
            string x = "hello";
            List<char> listX = new List<char>(x);
            for (int i = 0; i < list.Count; i++)
            {
                if (list[i] == listX[0])
                {
                    listX.Remove(listX[0]);
                    if (listX.Count <= 0)
                    {
                        break;
                    }
                }
            }
            if (listX.Count > 0) { Console.WriteLine("NO"); }
            else { Console.WriteLine("YES"); }
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace codeforces
{
    class chat_room2
    {
        static void Main(string[] args)
        {
            string a = Console.ReadLine().ToLower(), b="";
            for(int i = 0; i < a.Length; i++)
            {
                if(a[i] == 'h')
                {
                    b += "h";
                    for(int j = i; j < a.Length; j++)
                    {
                        if(a[j] == 'e')
                        {
                            b += "e";
                            for(int k = j; k < a.Length; k++)
                            {
                                if(a[k] == 'l')
                                {
                                    b += "l";
                                    k++;
                                    for(int l = k; l < a.Length; l++)
                                    {
                                        if (a[l] == 'l')
                                        {
                                            b += "l";
                                            for(int m = l; m < a.Length; m++)
                                            {
                                                if(a[m] == 'o')
                                                {
                                                    b += "o";
                                                    break;

                                                }
                                            }
                                            break;

                                        }
                                    }
                                    break;

                                }
                            }
                            break;

                        }
                    }
                    break;

                }
            }
            if (b == "hello")
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }

        }
    }
}

using System;

namespace CF58A
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            bool yes = false;
            int h = s.IndexOf("h", 0);
            if (h != -1) {
                int e = s.IndexOf("e", h + 1);
                if (e != -1) {
                    int l1 = s.IndexOf("l", e + 1);
                    if (l1 != -1) {
                        int l2 = s.IndexOf("l", l1 + 1);
                        if (l2 != -1) {
                            int o = s.IndexOf("o", l2 + 1);
                            if(o != -1) yes = true;
                        }
                    }
                }
            }
            if (yes) Console.WriteLine("YES");
            else Console.WriteLine("NO");
        }
    }
}

using System;
namespace CsharpConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            String a = Console.ReadLine();
            int h = a.IndexOf('h');
            if (h == -1)
            {
                Console.WriteLine("NO");
                return;
            }
            int e = a.IndexOf('e', h);
            if (e == -1)
            {
                Console.WriteLine("NO");
                return;
            }
            int l = a.IndexOf('l', e);
            if (l == -1)
            {
                Console.WriteLine("NO");
                return;
            }
            int l2 = a.IndexOf('l', l + 1);
            if (l2 == -1)
            {
                Console.WriteLine("NO");
                return;
            }
            int o = a.IndexOf('o', l2);
            if (o == -1)
            {
                Console.WriteLine("NO");
                return;
            }

            if (h < e && e < l && l < l2 && l2 < o)
                Console.WriteLine("YES");
            else Console.WriteLine("NO");
        }
    }
}

using System;

namespace codePro
{
    class Program
    {
        static void Main(string[] args)
        {
            string h = "hello", s="", input = Console.ReadLine();
            int n = 0;

            foreach (char item in input)
                if (item == h[n]) { s += h[n]; n += 1; if (n == 5)break; }

            if (s == h) Console.Write("YES");
            else Console.Write("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CodeForcePreparing
{
    class Programm
    {
        static void Main(string[] args)
        {
            int h = 0;
            int e = 0;
            int l = 0;
            int o = 0;
            char[] str = Console.ReadLine().ToCharArray();
            if (str.Length < 5)
            {
                Console.WriteLine("NO");
                return;
            }
            for (int i = 0; i < str.Length; i++)
            {
                if (h != 1 && str[i] == 'h')
                    h = 1;
                if (h == 1 && e != 1 && str[i] == 'e')
                    e = 1;
                if (h == 1 && e == 1 && l != 2 && str[i] == 'l')
                    l++;
                if (h == 1 && e == 1 && l == 2 && o != 1 && str[i] == 'o')
                    o = 1;
            }
            if (h + e + l + o == 5)
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");
        }
    }
}

using System;

namespace CF_Hello {
    class Program {
        static void Main(string[] args) {
            char[] input = Console.ReadLine().ToCharArray();
            string example = "hello";
            string output = string.Empty;
            int i = 0;
            int deleted = 0;
            while ((deleted != 5) && (i < input.Length)) {
                if (input[i] == example[deleted]) {
                    output += input[i];
                    if (output == "hello") {
                        Console.WriteLine("YES");
                        return;
                    }
                    ++deleted;
                }
                ++i;
            }
            Console.WriteLine("NO");
        }
    }
}

using System;

namespace codeforces_chechnevis
{
    class Program
    {
        static void Main()
        {
            /* bool a=true;
             string s;
             s = Console.ReadLine();
             for (int i= 0; i < s.Length-4;i++)
             {
                 if(s[i]=='h' && a)
                 {
                     if (i + 1 < s.Length)
                         while (s[i+1]=='h')
                     {
                         i++;
                             if (i + 1 >= s.Length)
                                 break;
                     }
                     if (i + 1 < s.Length)
                         if (s[i+1]=='e')
                     {
                         if (i + 1 < s.Length)
                             while (s[i + 1] == 'e')
                         {
                             i++;
                                 if (i + 1 >= s.Length)
                                     break;
                             }
                         if (i + 1 < s.Length)
                             if (s[i + 1] == 'l')
                         {
                             i++;
                                     if (i + 1 < s.Length)
                                         if (s[i + 1] == 'l')
                             {

                                 if (i + 1 < s.Length)
                                     while (s[i + 1] == 'l')
                                     {
                                             i++;
                                         if (i + 1 >= s.Length)
                                             break;

                                     }
                                 if (i + 1 < s.Length)
                                     if (s[i + 1] == 'o')
                                     {

                                         Console.WriteLine("YES");
                                         a = false;

                                     }

                             }
                         }
                     }
                 }
             }
             if(a)
             {
                 Console.WriteLine("NO");
             }*/

            //---------------------------------------------------------------------------------------

            string s;
            s = Console.ReadLine();
            bool a = true;
            for (int i = 0; i < s.Length - 4; i++)
            {
                if(s[i]=='h' && a)
                {

                    while(i+1<s.Length)
                    {
                        i++;
                        if(s[i]=='e')
                        {
                            while (i + 1 < s.Length)
                            {
                                i++;
                                if (s[i] == 'l')
                                {
                                    while (i + 1 < s.Length)
                                    {
                                        i++;
                                        if (s[i] == 'l')
                                        {
                                            while (i + 1 < s.Length)
                                            {
                                                i++;
                                                if (s[i] == 'o')
                                                {
                                                    Console.WriteLine("YES");
                                                    a = false;
                                                    i = 10000;
                                                    break;

                                                }

                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            if(a)
            {
                Console.WriteLine("NO");
            }
        }
    }
}

using System;

namespace CF_Hello {
    class Program {
        static void Main(string[] args) {
            char[] input = Console.ReadLine().ToCharArray();
            string example = "hello";
            string output = string.Empty;
            int deleted = 0;
            for(int i=0;i<input.Length;i++) {
                if (input[i] == example[deleted]) {
                    output += input[i];
                    ++deleted;
                }
                if (output == "hello") {
                    Console.WriteLine("YES");
                    return;
                }
            }
            Console.WriteLine("NO");
        }
    }
}

using System;

namespace A58
{
    class Program
    {
        static void Main(string[] args)
        {
            string vasya = Console.ReadLine().ToLower(), hello = "hello";
            int word = 0;

            for (int i = 0; i < vasya.Length ; i++)
            {
                if (vasya[i] == hello[word])
                    word++;
                if (word > 4)
                    break;
            }

            Console.WriteLine(word > 4 ? "YES" : "NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace ProblemN
{
	class Program
	{
		static void Main(string[] args)
		{
			Console.WriteLine(Regex.Match(Console.ReadLine().Trim(), "h+.*e+.*l+.*l+.*o+").Success ? "YES" : "NO");
		}
	}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace A.Chat_room
{
    class Program
    {
        static void Main(string[] args)
        {
            string text = Console.ReadLine();
            char[] test_arr = text.ToCharArray();
            string[] hello = {"h","e","l","l","o"};
            int counter = 0;
            string final = "";
            foreach(char c in test_arr)
            {

                    string x = Convert.ToString(c);
                    if (x == hello[counter])
                    {
                        final = final + hello[counter];
                        counter++;
                    }
                if (counter > 4)

                {
                    break;
                }

            }

            if (final=="hello")
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }

        }
    }
}

using System;

namespace ChatRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            string line = Console.ReadLine().ToLower();
            int counter = 0;
            string result = "NO";

            foreach (char chara in line)
            {
                if ((counter == 0 && chara == 'h')
                    || (counter == 1 && chara == 'e')
                    || ((counter == 2 || counter == 3) && chara == 'l'))
                {
                    counter++;
                }
                else if (counter == 4 && chara == 'o')
                {

                    result = "YES";
                    break;
                }

            }

            Console.WriteLine(result);
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace The_Chat_Room
{
    class Program
    {
        static void Main(string[] args)
        {
            string S = Console.ReadLine();
            char[] array = S.ToCharArray();
            List<char> li = new List<char>();
            for(int i=0;i<array.Length;i++)
            {
                li.Add(array[i]);
            }
            char[] hello = { 'h', 'e', 'l', 'l', 'o' };
            int sum = 0;
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < li.Count; j++)
                {
                    if (hello[i] != li[j])
                    {
                        li.Remove(li[j]);
                        j -= 1;
                    }
                    else if (hello[i] == li[j])
                    {
                        sum++;
                        li.Remove(li[j]);
                        break;
                    }
                }
            }
            if(sum==5)
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace chatroom
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            string name = "hello";

            int j=0;
            for (int i = 0; i < input.Length; i++)
            {
                if (input[i] == name[j])
                {
                    j++;
                    if (j > 4)
                    {
                        break;
                    }

                }

            }

            if (j > 4)
            {
                Console.WriteLine("YES");
            }
            else
                Console.WriteLine("NO");

            Console.ReadLine();
        }

    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Codeforces
{
    class Program
    {
        static void Main(string[] args)
        {
            string sWord = "hello";

            // input word s
            string sText = Console.ReadLine();

            int i = 0;
            int j = 0;

            // verify the matching
            while (i != sWord.Length && j != sText.Length)
            {
                if (sWord[i] == sText[j])
                {
                    ++i;
                }

                ++j;
            }

            // display results
            Console.WriteLine("{0}", (i == sWord.Length ? "YES" : "NO"));

        }
    }
}

using System;
using System.Linq;

public class Program
{
    private static void Main()
    {//hlelo
        var str = new string(Console.ReadLine().Where(c => "helo".Contains(c)).ToArray());
        str = str.Remove(0, str.IndexOf('h'));
        if (str.IndexOf("h") < str.IndexOf("e") && str.All(c => "helo".Contains(c)) && str.Count(c => c == 'l') > 1)
        {
            str = str.Remove(0, str.IndexOf('e'));
            if (str.IndexOf("e") < str.IndexOf("l"))
            {
                str = str.Remove(0, str.IndexOf('l')+1);
                if (str.IndexOf("l") < str.IndexOf("o"))
                {
                    Console.WriteLine("YES");
                    return;
                }
            }
        }

        Console.WriteLine("NO");
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CF85_D2_A_ChatRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            string line = Console.ReadLine().ToLower().Trim();
            line = new string(line.ToCharArray().Distinct().ToArray());

            if (line.Contains("helo"))
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");

        }
    }
}

using System;
using System.Linq;

public class Program
{
    private static void Main()
    {
        var str = Console.ReadLine();
        if ("hello".All(c => str.Contains(c)))
        {
            if (str.IndexOf("h") < str.IndexOf("e"))
            {
                str = str.Remove(0, str.IndexOf('e'));
                if (str.IndexOf("e") < str.IndexOf("l"))
                {
                    str = str.Remove(0, str.IndexOf('l'));

                    if (str.IndexOf("l") < str.LastIndexOf("l"))
                    {
                        str = str.Remove(0, str.LastIndexOf('l'));

                        if (str.LastIndexOf("l") < str.IndexOf("o"))
                        {
                            Console.WriteLine("YES");
                        }
                    }
                }
            }
        }
        Console.WriteLine("NO");
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _58A_ChatRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            if (s == "hello")
                Console.WriteLine("YES");
            else
            {

                int h, e, l, o;
                h = s.IndexOf('h');
                e = s.IndexOf('e', h + 1);
                l = s.IndexOf('l', e + 1);
                o = s.IndexOf('o', l + 1);

                if (h < 0 || e < 0 || l < 0 || o < 0 || (s.Length < 6))
                    Console.WriteLine("NO");
                else
                {
                    int first_l, second_l;
                    first_l = s.IndexOf("l");
                    second_l = s.IndexOf("l", first_l + 1);

                    if (second_l < 0)
                        Console.WriteLine("NO");
                    else
                        Console.WriteLine("YES");
                }
            }

        }
    }
}

using System;
using System.Collections.Generic;
using System.Diagnostics.Eventing.Reader;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Xml;

namespace CodeForces
{
    class ChatRoom
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            string hello = "";
            int counter = 0;

            for (int i = 0; i < input.Length; i++)
            {
                if (input[i] == 'h')
                {
                    counter++;
                    if (hello.Contains('h') == false)
                    {
                        hello += input[i];
                    }
                }
                else if (input[i] == 'e')
                {
                    counter++;
                    if (hello.Contains('e') == false && hello == "h")
                    {
                        hello += input[i];
                    }
                }
                else if (input[i] == 'l')
                {
                    counter++;
                    if (hello.Contains('l') == true && hello == "hel")
                    {
                        hello += input[i];
                    }
                    if (hello.Contains('l') == false && hello == "he")
                    {
                        hello += input[i];
                    }
                }
                else if (input[i] == 'o')
                {
                    counter++;
                    if (hello.Contains('o') == false && hello == "hell")
                    {
                        hello += input[i];
                    }
                }
            }
            if (hello == "hello" && counter > 5)
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }
        }
    }
}

using System;
class Test {
    static void Main(){
        string line = Console.ReadLine();
        string tmp = "";
        line.ToLower();
        for (int i = 0 ; i < line.Length ; i++){
            if(i == 0){
                tmp += line[i];
            } else {
                if(line[i] == 'l' && line[i-1] != 'l'){
                    tmp += line[i];
                }
                if(line[i] != line[i-1]){
                    tmp += line[i];
                }
            }
        }Console.WriteLine(tmp);
        if(tmp.IndexOf("hello") != -1){
            Console.WriteLine("YES");
        } else {
            Console.WriteLine("NO");
        }
    }
}

using System;

namespace CF_Hello {
    class Program {
        static void Main(string[] args) {
            char[] input = Console.ReadLine().ToCharArray();
            string example = "hello";
            string output = string.Empty;
            int deleted = 0;
            for(int i=0;i<input.Length;i++) {
                if (input[i] == example[deleted]) {
                    output += input[i];
                    ++deleted;
                }
                if (output == "hello") {
                    Console.WriteLine("YES");
                    return;
                }
                ++i;
            }
            Console.WriteLine("NO");
        }
    }
}

using System;

namespace codeforces_chechnevis
{
    class Program
    {
        static void Main()
        {
            bool a=true;
            string s;
            s = Console.ReadLine();
            for (int i= 0; i < s.Length-5;i++)
            {
                if(s[i]=='h')
                {
                    while(s[i+1]=='h')
                    {
                        i++;
                    }
                    if(s[i+1]=='e')
                    {
                        while (s[i + 1] == 'e')
                        {
                            i++;
                        }
                        if (s[i+1]=='l')
                        {

                            if (s[i+1]=='l')
                            {
                                while (s[i + 1] == 'l')
                                {
                                    i++;
                                }
                                if (s[i+1]=='o')
                                {
                                    while (s[i + 1] == '0')
                                    {
                                        i++;
                                    }
                                    Console.WriteLine("YES");
                                    a = false;
                                }
                            }
                        }
                    }
                }
            }
            if(a)
            {
                Console.WriteLine("NO");
            }
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace WarmingUpC_Sharp
{
    class Program
    {
        static void Main(string[] args)
        {
            string word = Console.ReadLine();
            int count = 0;
            for (int i = 0; i < word.Length; i++)
            {
                if (word[i] == 'h' && count == 0)
                    count++;
                if (word[i] == 'e' && count == 1)
                    count++;
                if (word[i] == 'l' && count == 2)
                    count++;
                if (word[i] == 'l' && count == 3)
                    count++;
                if (word[i] == 'o' && count == 4)
                    count++;
                if (count == 5)
                {
                    Console.WriteLine("YES");
                    return;
                }
            }
            Console.WriteLine("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _58A
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            bool answer = false;
            bool flag = false;
            int[] rangeEnd = new int[0];
            int[] rangeStart = new int[0];
            int numberOfMatches = 0;
            for (int h = 0; h < s.Length; h++)
            {
                if (s[h] == 'h')
                {
                    for (int o = h; o < s.Length; o++)
                    {
                        if (s[o] == 'o')
                        {
                            Array.Resize(ref rangeStart, rangeStart.Length + 1);
                            Array.Resize(ref rangeEnd, rangeEnd.Length + 1);
                            rangeStart[rangeStart.Length - 1] = h;
                            rangeEnd[rangeEnd.Length - 1] = o;
                            answer = true;
                            break;
                        }
                    }
                }
            }
            if (answer)
            {
                for (int numberOfRanges = 0; numberOfRanges < rangeStart.Length; numberOfRanges++)
                {
                    if (flag)
                        break;
                    numberOfMatches = 0;
                    for (int x = rangeStart[numberOfRanges]; x < rangeEnd[numberOfRanges]; x++)
                    {
                        switch (numberOfMatches)
                        {
                            case 0:
                                if (s[x] == 'e')
                                    numberOfMatches++;
                                break;
                            case 1:
                                if (s[x] == 'l')
                                    numberOfMatches++;
                                break;
                            case 2:
                                if (s[x] == 'l')
                                    numberOfMatches++;
                                break;
                        }
                        if (numberOfMatches == 3)
                        {
                            flag = true;
                            break;
                        }
                        else if (x == rangeEnd[numberOfRanges] - 1)
                            answer = false;
                    }
                }
            }
            Console.Write(answer ? "YES" : "NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication15
{
    class Program
    {
        static void Main(string[] args)
        {
            String line = Console.ReadLine();
            bool[] word = new bool[5];
            char[] hello = new char[] { 'h', 'e', 'l', 'l', 'o' };
            int count = 0;

            for (int i = 0; i < line.Length; i++)
            {
                if (count == 5)
                {
                    Console.WriteLine("YES");
                    return;
                }
                if (line[i] == hello[count])
                {
                    count++;
                }
            }

            Console.WriteLine("NO");
        }
    }
}

using System;
using System.Linq;

public class Program
{
	public static void Main()
	{
		string str = Console.ReadLine();
		string s = new string(str.Distinct().ToArray());
		if(s=="hello"){
			Console.WriteLine("YES");
		}
		else{
			Console.WriteLine("NO");
		}
	}
}

using System;
using System.Text.RegularExpressions;

namespace Chat
{

  class ChattyBoy
  {

    static void Main(string[] args)
    {
      string s = Console.ReadLine();
      Regex condfilter = new Regex("[a-z]*(hello)*");
      if (condfilter.IsMatch(s) == true)
        Console.WriteLine("YES");
      else Console.WriteLine("NO");

    }

  }

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CodeForces
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine().ToLower();
            HashSet<char> chat = new HashSet<char>(s);
            string word = string.Concat(chat);
            Console.WriteLine((word.Contains("helo")) ? "YES" : "NO");
        }
    }
}

using System;
namespace CsharpConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            String a = Console.ReadLine();
            int h = a.IndexOf('h');
            int e = a.IndexOf('e');
            int l = a.IndexOf('l');
            int l2 = a.IndexOf('l', l + 1);
            int o = a.IndexOf('o');

            if (h < e && e < l && l < l2 && l2 < o)
                Console.WriteLine("YES");
            else Console.WriteLine("NO");
        }
    }
}

using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = Console.ReadLine();
            for (int i=0;i<str.Length;i++)
            {
                if((str[i]!='h')&&(str[i]!='e')&&(str[i]!='l')&&(str[i]!='o'))
                {
                    str = str.Remove(i, 1);
                    i--;
                }
            }
            string str2 = "";
            for (int i=0;i<str.Length;i++)
            {
                bool mark = false;
                for (int j=0;j<str2.Length;j++)
                {
                    if (str[i] == str2[j]) { mark = true; break; }
                }
                if(mark!=true)
                {
                    str2 += str[i];
                    if(str2[str2.Length-1]=='l')
                    {
                        str2 += 'l';
                    }
                }
            }
            if(str2.Contains("hello")==true) { Console.WriteLine("YES"); }
            else { Console.WriteLine("NO"); }
        }
    }
}

using System;
class Program
{
    static void Main()
    {
        var s = Console.ReadLine();
        int i = 0;
        foreach (var l in "helo")
        {
            if (s.IndexOf(l) < i)
            {
                Console.WriteLine("NO");
                return;
            }
            i = s.IndexOf(l);
        }
        i = Array.FindIndex(s.ToCharArray(), c => c == 'l');
        if (Array.FindIndex(s.ToCharArray(), i + 1, c => c == 'l') > 0)
        {
            Console.WriteLine("YES");
        }
        else
        {
            Console.WriteLine("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication60
{
    class Program
    {
        static void Main(string[] args)
        {
            string a = Console.ReadLine();
            if (a == "ahhellllloou")
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");
        }
    }
}

using System;

namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine().ToLower();
            int size = s.Length;
            int count = 0;
            for(int i = 0; i < size; i++)
            {
                if (s[i] == 'h'&& count==0)
                    count++;
                else if(s[i] == 'e' && count == 1)
                    count++;
                else if (s[i] == 'l' && count == 2|| count == 3)
                    count++;
                else if (s[i] == '0' && count == 4)
                {
                    count++;
                    break;
                }
            }
            if (count == 4)
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");
        }
    }
}

using System;
class Codeforce
{
     static void Main()
    {
        string s= Console.ReadLine();
        string ans="";
        string hello="hello";
        int i=0;
        int j;
        int check;
        int end=0;
        char temp;
        int nub;
        for( i=0;i<s.Length;i++)
      {
          temp=s[i];
          nub=0;

         while ( i<s.Length && s[i]==temp)
         {
              nub++;
              i++;

         }

          i--;
            ans+=s[i];
          if (nub>1 && s[i]=='l')
             ans+=s[i];
      }

        // Console.WriteLine(ans);
          for( i =0; i<ans.Length && end==0;i++)
         {
              j=i;
              check=0;
              while(j<ans.Length  && ans[j]==hello[check] )
              {
                 check++;
                 if (check==5)
                   {   Console.Write("YES");
                          end=1;
                          break;
                   }
                 j++;
              }

         }
         if (end==0)
             Console.Write("NO");

    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace Implemetation
{
    class Program
    {
        static void Main(string[] args)
        {
            //string input = Console.ReadLine();
            //Console.WriteLine(Football(input));
            //int result=Petya_and_Strings(Console.ReadLine(), Console.ReadLine());
            //Console.WriteLine(result);
            //Helpful_Maths(Console.ReadLine());
            //Word_Capitalization(Console.ReadLine());
            //Taxi(int.Parse(Console.ReadLine()));
            //Console.WriteLine(Math.Ceiling((double)13/5));

            //Console.WriteLine(Regex.IsMatch(Console.ReadLine(), @"[1-4]((\s[1-4])+)?"));

            string text = Console.ReadLine();
            if (text.Length > 100 || text.Length < 1) return;
            if (!Regex.IsMatch(text, @"^[a-zA-Z]+$")) return;

            string Result = "";
            foreach (char c in text.Distinct())
            {
                if(c == 'l')
                {
                    Result += c;
                    Result += c;
                }
                else
                    Result += c;
            }
            //Console.WriteLine(Result.Contains("hello")?"YES":"NO");
            Console.WriteLine(Result.Contains("hello")?"YES":"NO");
        }
        static void Taxi(int input)
        {
            if (input < 1 || input > Math.Pow(10, 5)) return;
            string strnumbers = Console.ReadLine();
            if (!Regex.IsMatch(strnumbers, @"[1-4](\s[1-4])+")) return;

            int[] nums=strnumbers.Split(' ').Select(num=>int.Parse(num)).ToArray();
            if (nums.Length != input) return;

            Console.WriteLine(Math.Ceiling((double)nums.Sum() / 4));

        }
        static void Word_Capitalization(string input)
        {
            if (input.Length > Math.Pow(10, 3)) return;

            string result;

            if (input[0] >= 97)
            {
                char c = input[0];
                int cint = c - 32;
                char res = (char)cint;
                result = res + input.Substring(1, input.Length - 1);
                Console.WriteLine(result);
            }
            else
            {
                Console.WriteLine(input);
            }
        }
        static void Helpful_Maths(string input)
        {
            string pattern = @"[1-3]{1,100}\+?";
            if (!Regex.IsMatch(input, pattern)) return;

            List<int> numbers = input.Split('+').Select(item => int.Parse(item)).ToList();
            numbers.Sort();
            string Result = "";

            foreach (int i in numbers)
                Result += i + "+";

            Console.WriteLine(Result.Substring(0, Result.Length - 1));
        }
        static int Petya_and_Strings(params string[] inputs)
        {
            if (inputs[0].Length != inputs[1].Length) return -1;

            return inputs[0].ToLower().CompareTo(inputs[1].ToLower());
        }
        static string Football(string input)
        {
            //string Pattern = @"^[0-1]{1,100}$";
            if (!Regex.IsMatch(input, @"^[0-1]{1,100}$")) return "NO";

            return input.Contains("0000000") || input.Contains("1111111") ? "YES" : "NO";
        }
        static bool Match(string text)
        {
            return Regex.IsMatch(text, @"^[0-1] [0-1] [0-1]$", RegexOptions.Singleline);
        }
        static int Team(int Problems)
        {
            string temp;
            int count = 0;
            string[] t = { "1 1 1", "1 1 0", "1 0 1", "0 1 1" };
            for (int i = 0; i < Problems; i++)
            {
                temp = Console.ReadLine();
                if (!Match(temp)) return 0;
                if (t.Contains(temp))
                {
                    count++;
                }
            }
            return count;
        }

        static int BitPlusPlus(int Operations)
        {

            int Result = 0;
            string temp;
            if (Operations >= 1 && Operations <= 150)
            {
                for (int i = 0; i < Operations; i++)
                {
                    temp = Console.ReadLine();
                    if (!Regex.IsMatch(temp, @"^([\+-]{2})?[a-zA-Z]([\+-]{2})?$")) return 0;

                    int index = temp.IndexOfAny(new char[] { '-', '+' });
                    if (index != -1 && index > 2)
                    {
                        if (temp[index] == '+')
                            Result++;
                        else
                            Result--;
                    }
                    else if (index != -1 && index < 2)
                    {
                        if (temp[index] == '+')
                            ++Result;
                        else
                            --Result;
                    }

                }
            }
            return Result;
        }
    }
}

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace Chat
{

  class ChattyBoy
  {

    static void Main(string[] args)
    {
      string s = Console.ReadLine();
      Regex condfilter = new Regex(s);
      if (condfilter.IsMatch("[a-z]*(?:hello)*") == true)
        Console.WriteLine("YES");
      else Console.WriteLine("NO");

    }

  }

}

using System;
using System.Text.RegularExpressions;

namespace Codeforces
{
    class Program
    {
        static void Main(string[] args)
        {
            _58A.Solve();
        }
    }

    public class _58A
    {
        public static void Solve()
        {
            string s = Console.ReadLine();
            if (Regex.IsMatch(s, @"\w*h\w*e\w*ll\w*o\w*", RegexOptions.IgnoreCase))
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");
        }
    }
}

using System;
class Test {
    static void Main(){
        string line = Console.ReadLine();
        string tmp = "";
        line.ToLower();
        for (int i = 0 ; i < line.Length ; i++){
            if(i == 0){
                tmp += line[i];
            } else {
                if(line[i] == 'l' && line[i-1] != 'l'){
                    tmp += line[i];
                }
                if(line[i] != line[i-1]){
                    tmp += line[i];
                }
            }
        }
        if(tmp.IndexOf("hello") != -1){
            Console.WriteLine("YES");
        } else {
            Console.WriteLine("NO");
        }
    }
}

using System;

namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine().ToLower();
            int size = s.Length;
            int count = 0;
            for(int i = 0; i < size; i++)
            {
                if (s[i] == 'h'&& count==0)
                    count++;
                else if(s[i] == 'e' && count == 1)
                    count++;
                else if (s[i] == 'l' && count <4)
                    count++;
                else if (s[i] == '0' && count == 4)
                {
                    count++;
                    break;
                }
            }
            if (count == 4)
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Problem_Solving
{
    class Program
    {
        static void Main(string[] args)
        {
            // The code provided will print ‘Hello World’ to the console.
            // Press Ctrl+F5 (or go to Debug > Start Without Debugging) to run your app.
            //Console.WriteLine("Hello World!");
            //Console.ReadKey();
            var target = "hello";
            string testString;
            testString = Console.ReadLine();
            int index = 0;
            var res = "";
            var counter = 0;
            foreach (var character in target)
            {
                var x = testString.IndexOf(character , index);
                if (testString.IndexOf(character , index) >= index)
                {
                    index = testString.IndexOf(character , index);
                    counter++;

                }

            }
            if(counter == 5)
                Console.Write("YES");
            else
                Console.Write("NO");

            // Go to http://aka.ms/dotnet-get-started-console to continue learning how to build a console app!
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CF32ChatRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            string a = Console.ReadLine();
            int len = a.Length;
            for(int i=0;i<len;i++)
            {
                if(a[i]=='h' || a[i]=='e' || a[i]=='l' || a[i]=='o')
                {

                }
                else
                {

                    int index = a.IndexOf(a[i]);
                    a = a.Remove(index, 1);
                    i = i - 1;
                    len = len - 1;
                }
            }
            int got = 0;
            for(int i=0;i<a.Length;i++)
            {
                switch(a[i])
                {
                    case 'h':
                        if (got == 0)
                            got++;
                        else
                        {

                            a = a.Remove(i, 1);
                        }
                        break;
                    case 'e':
                        if (got == 1)
                            got++;
                        else
                        {

                            a = a.Remove(i, 1);
                        }
                        break;
                    case 'l':
                        if(got==2 || got ==3)
                        {
                            got++;
                        }
                        else
                        {

                            a = a.Remove(i, 1);
                        }
                        break;
                    case 'o':
                        if (got == 4)
                        {
                            got++;
                        }
                        else
                        {

                            a = a.Remove(i, 1);
                        }
                        break;
                }
            }
            if(a=="hello")
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }
            Console.ReadLine();
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CF85_D2_A_ChatRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            string line = Console.ReadLine().ToLower().Trim();
            line = new string(line.ToCharArray().Distinct().ToArray());

            if (line.Contains("helo"))
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");

        }
    }
}

using System;
using System.Text.RegularExpressions;

namespace CodeForces
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            Regex regex = new Regex(@"h+e+l+l+o+", RegexOptions.IgnoreCase | RegexOptions.Compiled);
            Console.WriteLine(regex.IsMatch(s) ? "YES" : "NO");
        }
    }
}

using System;
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
           string s = Console.ReadLine();
           bool h=false;
           bool e = false;
           bool l1=false;
           bool l2=false;
           bool o = false;
           for (int i=0;i<s.Length; i++)
           {
               if (!h)
               if (s[i]=='h') {h=true; continue;}
               if (h&&!e)
               if (s[i]=='e') {e=true; continue;}
               if (h&&e&&!l1)
               if (s[i]=='l') {l1=true; continue;}
               if (h&&e&&l1&&!l2)
               if (s[i]=='l') {l2=true; continue;}
               if (h&&e&&l1&&l2&&!o) {o=true; continue;}
               if (h&&e&&l1&&l2&&o) break;
           }
           if (h&&e&&l1&&l2&&o) Console.WriteLine("YES");
           else
           Console.WriteLine("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace code
{
    class Wight
    {

        static void Main(string[] args)
        {

            string input = Console.ReadLine();

            char[] hello = "hello".ToCharArray();

            char[] inputchar = input.ToCharArray();

            string hellostring = "";

            foreach(var ch in inputchar)
            {
                if (hello.Contains(ch))
                {
                    if (!hellostring.Contains(ch))
                    {

                        hellostring += ch;
                    }

                }

            }

            if(hellostring=="hello" || hellostring =="helo" || input.Contains("he"))
            {
                Console.WriteLine("YES");
            }

            else
            {
                Console.WriteLine("NO");
            }

        }
    }

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CF85_D2_A_ChatRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            char[] ch = {'h','e','l','l','o' };
            string line = Console.ReadLine().ToLower().Trim();
            line = new string(line.Where(c => ch.Contains(c)).ToArray());
            //line = new string(line.ToCharArray().Distinct().ToArray());
            char[] lineCH = line.ToCharArray();

            if (line.Contains("hel")|| line.Contains("heol")|| line.Contains("helo"))
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");

        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string finalName = "hello";
             char[] fc = finalName.ToCharArray();
            int i = 0;

            string userText = Console.ReadLine();
            char[] userChars = userText.ToCharArray();

            foreach (char uc in userChars)
            {
                // Console.WriteLine(uc);
                if (uc == finalName[i])
                {
                    // Console.WriteLine(i);
                    if (i != 4)
                    {
                        i++;
                    }
                }
            }

            if (i == 4)
            {
                Console.WriteLine("YES");
            } else
            {
                Console.WriteLine("NO");
            }
        }
    }
}

using System;

namespace ChatRoom
{
    class Program
    {
        public static void Main(string[] args)
        {
            string s = Console.ReadLine();

            bool result = false;
            string word = "hello";
            int start = 0;
            for (int i = 0; i < s.Length; i++){
                if (s[i] == word[start])
                {
                    start += 1;
                }else if (start > 0 && s[i] == word[start-1]){
                    continue;
                }else{
                    start = 0;
                }
                if (start == word.Length ){
                    result = true;
                    break;
                }

            }
            Console.WriteLine(result ? "YES" : "NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication18
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 0;
            string h = "hello ";
            List<char> l = Console.ReadLine().ToList();
            foreach (char ch in l)
            {
                if (ch == h[i])
                {
                    h = h.Remove(0, 1);
                }
            }
            Console.WriteLine(h);
            if(h.Length <= 1)
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }

        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            String input;
            String hello = "hello";

            input = Console.ReadLine();

            for (int i = 0; i < input.Length-1; i++)
            {
                if (hello.Length == 0)
                {
                    break;
                }
                if (hello[0] == input[i])
                {
                    hello = hello.Substring(1);
                    Console.WriteLine(hello);
                }

            }
            if (hello.Length > 0)
            {
                Console.WriteLine("NO");
            }
            else
            {
                Console.WriteLine("YES");
            }

        }
    }

}

using System;

namespace CF_Hello {
    class Program {
        static void Main(string[] args) {
            string input = Console.ReadLine();
            input = input.Replace("ll", "!");
            for (int i = 1; i < input.Length; ++i) {
                if (input[i - 1] == input[i]) {
                    input = input.Remove(i, 1);
                }
            }
            if (input.Contains("he!o") || input.Contains("he!lo")) {
                Console.WriteLine("YES");
            }
            else {
                Console.WriteLine("NO");
            }
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CodeForces
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine().ToLower();
            HashSet<char> chat = new HashSet<char>(s);
            string word = string.Concat(chat);
            Console.WriteLine((word.Contains("helo")) ? "YES" : "NO");
        }
    }
}

using System;
using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;

namespace Problem58A {
    class Program {
        static void Main(string[] args) {
            char[] word = Console.ReadLine().ToCharArray();
            int[] helloLetters = getOnlyHelloLetters(word);
            bool couldWrite = checkHello(helloLetters);

            if (couldWrite)
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");
        }

        private static bool checkHello(int[] helloLetters) {
            bool canWrite = true;
            int helloLength = helloLetters.Length;

            for (int i = 0; i < helloLength-1; i++) {
                int letter = helloLetters[i];
                int nextLetter = helloLetters[i + 1];

                if (nextLetter < letter) {
                    canWrite = false;
                    break;
                }
            }
            return canWrite;
        }

        private static int[] getOnlyHelloLetters(char[] word) {
            List<char> list = new List<char>();
            int wordLength = word.Length;
            for (int i = 0; i < wordLength; i++) {
                if (word[i].Equals('h') || word[i].Equals('e') || word[i].Equals('l') || word[i].Equals('o')) {
                    list.Add(word[i]);
                }
            }

            int listLength = list.Count;
            int[] helloLetters = new int[listLength];
            for (int i = 0; i < listLength; i++) {
                int helloOrd = 0;
                if (list[i].Equals('h')) helloOrd = 1;
                if (list[i].Equals('e')) helloOrd = 2;
                if (list[i].Equals('l')) helloOrd = 3;
                if (list[i].Equals('o')) helloOrd = 4;

                helloLetters[i] = helloOrd;
            }
            return helloLetters;
        }
    }
}

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        private static void MyMain() {

            string k = RLine();
            char[] c = k.Where(i => i == 'h' || i == 'e' || i == 'l' || i == 'o').ToArray();
            string n = new string(c);

            bool flag = false;
            int indexOfH = n.IndexOf('h');
            if (indexOfH >=0)
            {
                string stepE = n.Substring(indexOfH);
                int indexOfE = stepE.IndexOf('e');
                if (indexOfE >= 0)
                {
                    string stepL1 = stepE.Substring(indexOfE);
                    int indexOfL1 = stepE.IndexOf('l');
                    if (indexOfL1 >= 0)
                    {
                        string stepL2 = stepL1.Substring(indexOfL1);
                        int indexOfL2 = stepL2.IndexOf('l');
                        if (indexOfL2 >= 0)
                        {
                            string stepO = stepL2.Substring(indexOfL2);
                            int indexOfO = stepO.IndexOf('o');
                            if (indexOfO >= 0)
                            {
                                flag = true;
                                WLine("YES");

                            }
                        }
                    }
                }
            }

            if (flag == false) {
                WLine("NO");
            }
        }
        static void Main()
        {
#if !HOME
            MyMain();
#else
            var tmp = Console.In;
            Console.SetIn(new StreamReader("in.txt"));
            while (Console.In.Peek() > 0)
            {
                MyMain();
            }
            Console.In.Close();
            Console.SetIn(tmp);
            Console.ReadKey();
#endif
        }

        #region Utils
        static string RLine()
        {
            return Console.ReadLine();
        }

        static int RInt()
        {
            var str = Console.ReadLine();
            return Convert.ToInt32(str);
        }

        static int[] RInts()
        {
            return Array.ConvertAll(Console.ReadLine().Split(' '), s => Convert.ToInt32(s));
        }

        static void RInts(out int a, out int b)
        {
            var ints = RInts();
            a = ints[0];
            b = ints[1];
        }

        static void WLine<T>(T s)
        {
            Console.WriteLine(s);
        }
        #endregion
    }
}

using System;
using System.IO;
using System.Linq;
namespace codechef
{
    public class Program{
            public static StreamWriter writer;

            public static void RealWork()
            {
                string input = Console.ReadLine();
                string match = "hello";
                int Ans = 0,pos=0;

                for (int i = 0; i < input.Length; i++)
                {
                    if (input[i] == match[pos])
                    {
                        pos++;
                        Ans++;
                        if (Ans == 5)
                        {
                            writer.Write("Yes");
                            return;
                        }
                    }
                }
                writer.Write("NO");
            }

            static void Main(string[] args)
            {
                writer = new StreamWriter(Console.OpenStandardOutput());
               // writer = new StreamWriter("output.txt");
                //Console.SetIn(new StreamReader(File.OpenRead("input.txt")));
                RealWork();
                writer.Close();
            }

            public static int intParse(string st)
            {
                int x = 0;
                for (int i = 0; i < st.Length; i++) { x = x * 10 + (st[i] - 48); }
                return x;
            }

    }

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _58A_ChatRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            int h, e, l, o;
            h = s.IndexOf('h') ;
            e = s.IndexOf('e',h+1) ;
            l = s.IndexOf('l',e+1) ;
            o = s.IndexOf('o',l+1) ;

            if (h<0 || e<0 || l<0 || o<0 || (s.Length < 6))
                Console.WriteLine("NO");
            else
            {
                int first_l, second_l;
                first_l = s.IndexOf("l");
                second_l = s.IndexOf("l", first_l+1);

                if (second_l<0)
                    Console.WriteLine("NO");
                else
                    Console.WriteLine("YES");
            }

        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            String hellostr = "hello";
            String mstr = Console.ReadLine();
            int letter = 0;

            for (int i = 0; i < mstr.Length-1; i++)
                if (hellostr[letter] == mstr[i])
                    if(letter != 4) letter++;
            Console.WriteLine(letter == 4 ? "YES" : "NO:");

        }
    }
}

using System;

namespace codeforces_chechnevis
{
    class Program
    {
        static void Main()
        {
            bool a=true;
            string s;
            s = Console.ReadLine();
            for (int i= 0; i < s.Length-4;i++)
            {
                if(s[i]=='h' && a)
                {
                    while(s[i+1]=='h')
                    {
                        i++;
                    }
                    if(s[i+1]=='e')
                    {
                        while (s[i + 1] == 'e')
                        {
                            i++;
                        }
                        if (s[i + 1] == 'l')
                        {
                            i++;
                            if (s[i + 1] == 'l')
                            {
                                while (s[i + 1] == 'l')
                                {
                                    i++;
                                }
                                if (s[i + 1] == 'o')
                                {

                                    Console.WriteLine("YES");
                                    a = false;

                                }
                            }
                        }
                    }
                }
            }
            if(a)
            {
                Console.WriteLine("NO");
            }
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace WarmingUpC_Sharp
{
    class Program
    {
        static void Main(string[] args)
        {
            string word = Console.ReadLine();
            int count = 0;
            for (int i = 0; i < word.Length; i++)
            {
                if (word[i] == 'h' && count == 0)
                {
                    count++;
                    continue;
                }
                if (word[i] == 'l' && count == 1)
                {
                    count++;
                    continue;
                }
                if (word[i] == 'l' && count == 2)
                {
                    count++;
                    continue;
                }
                if (word[i] == 'o' && count == 3)
                {
                    count++;
                    continue;
                }
                if (count == 4)
                {
                    Console.WriteLine("YES");
                    return;
                }
            }
            Console.WriteLine("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication10
{
    class Program
    {

        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            if(s.Contains("hello"))
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }
        }
    }
}

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace Chat
{

  class ChattyBoy
  {

    static void Main(string[] args)
    {
      string s = Console.ReadLine();
      Regex condfilter = new Regex(s);
      if (condfilter.IsMatch("[a-z]*(?:hello)*") == true)
        Console.WriteLine("YES");
      else Console.WriteLine("NO");

    }

  }

}

using System;
using System.Collections.Generic;
using System.Diagnostics.Eventing.Reader;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Xml;

namespace CodeForces
{
    class ChatRoom
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            List<char> letters = new List<char>();
            int counter = 0;
            for (int i = 0; i < input.Length; i++)
            {
                if (letters.Contains(input[i]) == false)
                {
                    letters.Add(input[i]);
                    counter++;
                }
                else if (letters.Contains('l') == true)
                {
                    counter++;
                }
            }
            if (counter == 5) Console.WriteLine("NO");
            else Console.WriteLine("YES");
        }
    }
}

using System;
using System.Linq;

public class Program
{
	public static void Main()
	{
		string str = Console.ReadLine();
		string s = new string(str.Distinct().ToArray());
		if(s.Contains("helo")){
			Console.WriteLine("YES");
		}
		else{
			Console.WriteLine("NO");
		}
	}
}

using System;

namespace Watermelon
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            int[] index = new int[5];
            string hello = "hello";
            for (int i = 0; i < 5; i++)
            {
                index[i] = input.IndexOf(hello[i]);
            }
            bool answer = true;
            for (int i = 0; i < 4; i++)
            {
                if(index[i] > index[i+1])
                {
                    answer = false;
                    Console.WriteLine("NO");
                    break;
                }
            }
            if(answer == true)
            {
                Console.WriteLine("YES");
            }

        }
    }
}

using System;

namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine().ToLower();
            int size = s.Length;
            int count = 0;
            for(int i = 0; i < size; i++)
            {
                if (s[i] == 'h'&& count==0)
                    count++;
                else if(s[i] == 'e' && count == 1)
                    count++;
                else if (s[i] == 'l' && count == 2|| count == 3)
                    count++;
                else if (s[i] == '0' && count == 4)
                {
                    count++;
                    break;
                }
            }
            if (count == 4)
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace A.Chat_room
{
    class Program
    {
        static void Main(string[] args)
        {
            string text = Console.ReadLine();
            string hello = "hello";
            if (string.Compare(text,hello)<0)
            {
                Console.WriteLine("NO");
            }
            else if (string.Compare(text, hello) > 0)
            {
                Console.WriteLine("YES");
            }

        }
    }
}

using System;
using System.Linq;
using System.Collections.Generic;

namespace Test1
{
    public class Test1
    {
        public static void Main()
        {
            string input = Console.ReadLine();
            List<char> letters = new List<char>();
            List<int> lcount = new List<int>();
            int cnt = 0;
            for (int i = 0; i < input.Length; i++)
            {
                if (letters.Count > 0)
                {
                    if (letters.Last() == input[i]) { cnt++; if (i == input.Length - 1) { lcount.Add(cnt); } }
                    else { lcount.Add(cnt); letters.Add(input[i]); cnt = 1; if (i == input.Length - 1) lcount.Add(cnt); }
                }
                else { letters.Add(input[i]); cnt++; }
            }

            string check = "";
            for (int i = 0; i < letters.Count(); i++) check += letters[i];
            string hello = "helo";
            bool matchFound = false;
            if (letters.Count >= 4)
            {
                for (int i = 0; i < letters.Count() - 3; i++)
                {
                    if (check.Substring(i, 4) == hello)
                    {
                        if (lcount[i + 2] >= 2) { matchFound = true; break; }
                    }
                }
            }

            Console.WriteLine(matchFound ? "YES" : "NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace problem2
{
    class Program
    {
        static void Main(string[] args)
        {

            string Hello = Console.ReadLine();
            Hello = Hello.ToLower();
            string temp = string.Empty;
            string helloWord = "hello";
            int cntr = 0;
            int result = 5;
            int index=0 ;

            for (int i = 0; i < helloWord.Length; i++)
            {
                int j = index;
                index = 0;
                for (; j < Hello.Length; j++)
                {

                    if (helloWord[i] == Hello[j])
                    {
                        if (Hello[j] == 'l')
                        { cntr++; }

                        if (j != 0)
                        {
                            if (Hello[j] == Hello[j - 1])
                            {
                                if (Hello[j] == 'l')
                                {

                                    if (cntr<3)
                                    {
                                        temp += Hello[j];
                                        j = Hello.Length;
                                    }
                                }
                                else
                                continue;
                            }

                            else
                            {

                                temp += Hello[j];
                                index = j+1;
                                j = Hello.Length;

                            }
                        }
                        else
                        {
                            temp += Hello[j];
                            index = j + 1;
                            j = Hello.Length;
                        }

                    }
                     result = helloWord.CompareTo(temp);
                    if (result == 0)
                    {
                        Console.WriteLine("YES");
                        i = helloWord.Length;
                    }

                }
            }

            if(result != 0)
            {
                Console.WriteLine("NO");
            }

        }

    }
}

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace Chat
{

  class ChattyBoy
  {

    static void Main(string[] args)
    {
      string s = Console.ReadLine();
      Regex condfilter = new Regex(s);
      if (condfilter.IsMatch("^[a-z]*(?:hello)*$") == true)
        Console.WriteLine("YES");
      else Console.WriteLine("NO");

    }

  }

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace codeforces
{
    class Program
    {
        static void Main(string[] args)
        {

            string hello = Console.ReadLine();
            string example = "[h]{1,}[e]{1,}[l]{2,}[o]{1,}";
            string result = hello[0].ToString();

            Console.WriteLine(Regex.IsMatch(hello,example)?"YES":"NO");
            //Console.ReadKey();
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace training2
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = Console.ReadLine();
             bool _1=false;
             bool _2=false;
             bool _3=false;
             bool _4=false;
             int count = 0;
            for(int i=0;i<str.Length;i++)
            {
                if (str[i] == 'h')
                    _1 = true;
                if (str[i] == 'e')
                    _2 = true;
                if (str[i] == 'l')
                {
                    _3 = true;
                    count++;
                }
                if (str[i] == 'o')
                    _4 = true;
            }
            if (str.Length > 5 && _1 && _2 && count >= 2 && _4)
                Console.WriteLine("YES");
            else
                Console.WriteLine("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _58A
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            if (s.Contains("hlelo")) Console.WriteLine("NO");
            else Console.WriteLine("YES");
            Console.Read();
        }
    }
}

using System;
class Chat_room
{
    static void Main(string[] args)
    {
        string s = Console.ReadLine().ToLower();
        char[] t = { 'h', 'e', 'l', 'l', 'o' };
        int loc = 0;
        for (int i = 0; i < s.Length; i++)
        {
            if(loc == t.Length)
            {
                Console.WriteLine("YES");
                break;
            }
            else if(s[i] == t[loc])
            {
                loc++;
            }
        }
        if(loc < t.Length)
        {
            Console.WriteLine("NO");
        }

    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CodeForces1
{
    class Program
    {
        static void Main(string[] args)
        {
            string inputString = Console.ReadLine();
            int l=0;
            for(int i =0; i<inputString.Length; i++)
            {
                if(inputString.Contains('l'))
                {
                    l++;
                }
            }
            if(inputString.Contains('h')
                && inputString.Contains('e')
                && inputString.Contains('o')
                && l>1)
            {
                Console.WriteLine("Yes");
            }
            else
            {
                Console.WriteLine("NO");
            }

        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _58A
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            if (!s.Contains("hlelo")) Console.WriteLine("YES");
            else Console.WriteLine("NO");
            Console.Read();
        }
    }
}

using System;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        var input = Console.ReadLine();
        if (input.Count(c => c == 'l') > 1 && string.Join("", input.Distinct()) == "helo") Console.WriteLine("YES");
        else Console.WriteLine("NO");
    }
}

using System;
using System.Collections.Generic;
using System.Linq;

internal class Program
{
    public static void Main(string[] args)
    {
        var s = Console.ReadLine();
        if (s.IndexOf('h') < s.IndexOf('e') &&
            s.IndexOf('e') < s.IndexOf("ll") &&
            s.IndexOf("ll") < s.IndexOf('o'))
            Console.WriteLine("YES");
        else
            Console.WriteLine("NO");
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ladder
{
    class Program
    {
        static void Main(string[] args)
        {
            string s;
            s = Console.ReadLine();
            int hIndex = s.IndexOf('h');
            int eIndex = s.IndexOf('e');
            int lIndex = s.IndexOf('l');
            int oIndex = s.IndexOf('o');
            if (hIndex == -1 || eIndex == -1 || lIndex == -1 || oIndex == -1)
            {
                Console.WriteLine("NO");
            }
            else
            {
                s = s.TrimStart('a','b','c','d','e','f','g','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
                s = s.TrimEnd('a','b','c','d','e','f','g','h','i','j','k','l','m','n','p','q','r','s','t','u','v','w','x','y','z');
                s = s.Replace('h', 'H');
                s = s.Replace('e', 'E');
                s = s.Replace('l', 'L');
                s = s.Replace('o', 'O');
                string smallword = "";
                for (int i=0; i<s.Length; i++)
                {
                    if (s[i] < 97 )
                    {
                        smallword += s[i];
                    }
                }
                if (smallword.Length < 5)
                {
                    Console.WriteLine("NO");
                }
                else
                {
                    int lCount = 0 , lastIndex=0;
                    for (int i=0; i<smallword.Length; i++)
                    {
                        if (smallword[i] == 'L')
                        {
                            lCount++;
                            lastIndex = i;
                        }
                    }
                    if (lCount < 2 || lastIndex < smallword.IndexOf('E') )
                    {
                        Console.WriteLine("NO");
                    }
                    else
                    {
                        bool ThereExist_an_L_Between_an_L_and_an_E = false;
                        for (int i = smallword.IndexOf('E')+1 ; i<lastIndex; i++)
                        {
                            if (smallword[i] == 'L')
                            {
                                ThereExist_an_L_Between_an_L_and_an_E = true;
                                break;
                            }
                        }
                        if (ThereExist_an_L_Between_an_L_and_an_E)
                        {
                            Console.WriteLine("YES");
                        }
                        else
                        {
                            Console.WriteLine("NO");
                        }
                    }
                }
            }
            //Console.ReadLine();
        }
    }
}

using System;

namespace CF_Hello {
    class Program {
        static void Main(string[] args) {
            char[] input = Console.ReadLine().ToCharArray();
            string example = "hello";
            string output = string.Empty;
            int deleted = 0;
            for(int i=0;i<input.Length;i++) {
                if (input[i] == example[deleted]) {
                    output += input[i];
                    ++deleted;
                }
                if (output == "hello") {
                    Console.WriteLine("YES");
                    return;
                }
                ++i;
            }
            Console.WriteLine("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace cf58a
{
    class Program
    {
        static void Main(string[] args)
        {
            string x;
            x = Console.ReadLine();

            int z=0;
            for(int i=0; i<x.Length; i++){
                if(z==0){
                    if(x[i]=='h'){
                        z++;
                    }
                }
                else if(z==1){
                    if(x[i]=='e'){
                        z++;
                    }
                    else if(x[i]=='h'){
                        continue;
                    }
                    else{
                        z=0;
                    }
                }
                else if(z==2){
                    if(x[i]=='l'){
                        z++;
                    }
                    else if(x[i]=='e'){
                        continue;
                    }
                    else{
                        z=0;
                    }
                }
                else if(z==3){
                    if(x[i]=='l'){
                        z++;
                    }
                    else{
                        z=0;
                    }
                }
                else if(z==4){
                    if(x[i]=='o'){
                        z++;
                    }
                    else if(x[i]=='l'){
                        continue;
                    }
                    else{
                        z=0;
                    }
                }
                else if(z==5){
                    break;
                }
            }
            if(z==5){
                Console.Write("YES");
            }
            else{
                Console.Write("NO");
            }
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace problem2
{
    class Program
    {
        static void Main(string[] args)
        {

            string Hello = Console.ReadLine();
            Hello = Hello.ToLower();
            string temp = string.Empty;
            string helloWord = "hello";
            int cntr = 0;
            int result = 5;
            int index=0 ;

            for (int i = 0; i < helloWord.Length; i++)
            {
                int j = index;
                for (; j < Hello.Length; j++)
                {

                    index  = 0;
                    if (helloWord[i] == Hello[j])
                    {
                        if (Hello[j] == 'l')
                        { cntr++; }

                        if (j != 0)
                        {
                            if (Hello[j] == Hello[j - 1])
                            {
                                if (Hello[j] == 'l')
                                {

                                    if (cntr<3)
                                    {
                                        temp += Hello[j];
                                    }
                                }
                                continue;
                            }

                            else
                            {

                                temp += Hello[j];
                                index = j+1;
                                j = Hello.Length;

                            }
                        }
                        else
                        {
                            temp += Hello[j];
                            index = j + 1;
                            j = Hello.Length;
                        }

                    }
                     result = helloWord.CompareTo(temp);
                    if (result == 0)
                    {
                        Console.WriteLine("YES");
                        i = helloWord.Length;
                    }

                }
            }

            if(result != 0)
            {
                Console.WriteLine("NO");
            }

        }

    }
}

using System;
using System.Linq;

public class Program
{
	public static void Main()
	{
		string str = Console.ReadLine();
		string s = new string(str.Distinct().ToArray());
		if(s.Contains("helo")){
			Console.WriteLine("YES");
		}
		else{
			Console.WriteLine("NO");
		}
	}
}

using System;
using System.Linq;

public class Program
{
    private static void Main()
    {
        var str = Console.ReadLine();
        if ("hello".All(c => str.Contains(c)))
        {
            if (str.IndexOf("h") < str.IndexOf("e"))
            {
                str = str.Remove(0, str.IndexOf('e'));
                if (str.IndexOf("e") < str.IndexOf("l"))
                {
                    str = str.Remove(0, str.IndexOf('l'));

                    if (str.IndexOf("l") < str.LastIndexOf("l"))
                    {
                        str = str.Remove(0, str.LastIndexOf('l'));

                        if (str.LastIndexOf("l") < str.IndexOf("o"))
                        {
                            Console.WriteLine("YES");
                            return;
                        }
                    }
                }
            }
        }
        Console.WriteLine("NO");
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace prog_moh
{
    class Program
    {
        static void Main(string[] args)
        {

                string hello = "hello";
                string en_hello = Console.ReadLine().ToLower();
                string new_hello = null;

                foreach (char h in hello)
                {
                    string co = "";
                    for (int a = 0; a < en_hello.Length; a++)
                        if (h == en_hello[a])
                        {
                            new_hello = new_hello + en_hello[a];
                            for (int i = a+1; i < en_hello.Length; i++)
                            {
                                co =co+ en_hello[i];
                            }
                            break;

                        }
                    en_hello = co;
                }

                if (hello == new_hello)
                   Console.WriteLine("yes");
                else
                   Console.WriteLine("no");
                }
      }
    }

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace Implemetation
{
    class Program
    {
        static void Main(string[] args)
        {
            //string input = Console.ReadLine();
            //Console.WriteLine(Football(input));
            //int result=Petya_and_Strings(Console.ReadLine(), Console.ReadLine());
            //Console.WriteLine(result);
            //Helpful_Maths(Console.ReadLine());
            //Word_Capitalization(Console.ReadLine());
            //Taxi(int.Parse(Console.ReadLine()));
            //Console.WriteLine(Math.Ceiling((double)13/5));

            //Console.WriteLine(Regex.IsMatch(Console.ReadLine(), @"[1-4]((\s[1-4])+)?"));

            string text = Console.ReadLine();
            if (text.Length > 100 || text.Length < 1) return;
            if (!Regex.IsMatch(text, @"^[a-z]+$")) return;

            string Result = "";
            char[] word = { 'h', 'e', 'l', 'l', 'o' };
            int position = 0;
            foreach (char c in text)
            {

                if (word[position] == c)
                {
                    Result += c;
                    position++;
                    if (position == word.Length) break;
                }
                else
                {
                    if (Result != "")
                    {
                        if (Result[position - 1] == c) continue;
                        else break;
                    }
                }

            }

            //Console.WriteLine(Result.Contains("hello")?"YES":"NO");
            Console.WriteLine(Result.Equals("hello")?"YES":"NO");
        }
        static void Taxi(int input)
        {
            if (input < 1 || input > Math.Pow(10, 5)) return;
            string strnumbers = Console.ReadLine();
            if (!Regex.IsMatch(strnumbers, @"[1-4](\s[1-4])+")) return;

            int[] nums=strnumbers.Split(' ').Select(num=>int.Parse(num)).ToArray();
            if (nums.Length != input) return;

            Console.WriteLine(Math.Ceiling((double)nums.Sum() / 4));

        }
        static void Word_Capitalization(string input)
        {
            if (input.Length > Math.Pow(10, 3)) return;

            string result;

            if (input[0] >= 97)
            {
                char c = input[0];
                int cint = c - 32;
                char res = (char)cint;
                result = res + input.Substring(1, input.Length - 1);
                Console.WriteLine(result);
            }
            else
            {
                Console.WriteLine(input);
            }
        }
        static void Helpful_Maths(string input)
        {
            string pattern = @"[1-3]{1,100}\+?";
            if (!Regex.IsMatch(input, pattern)) return;

            List<int> numbers = input.Split('+').Select(item => int.Parse(item)).ToList();
            numbers.Sort();
            string Result = "";

            foreach (int i in numbers)
                Result += i + "+";

            Console.WriteLine(Result.Substring(0, Result.Length - 1));
        }
        static int Petya_and_Strings(params string[] inputs)
        {
            if (inputs[0].Length != inputs[1].Length) return -1;

            return inputs[0].ToLower().CompareTo(inputs[1].ToLower());
        }
        static string Football(string input)
        {
            //string Pattern = @"^[0-1]{1,100}$";
            if (!Regex.IsMatch(input, @"^[0-1]{1,100}$")) return "NO";

            return input.Contains("0000000") || input.Contains("1111111") ? "YES" : "NO";
        }
        static bool Match(string text)
        {
            return Regex.IsMatch(text, @"^[0-1] [0-1] [0-1]$", RegexOptions.Singleline);
        }
        static int Team(int Problems)
        {
            string temp;
            int count = 0;
            string[] t = { "1 1 1", "1 1 0", "1 0 1", "0 1 1" };
            for (int i = 0; i < Problems; i++)
            {
                temp = Console.ReadLine();
                if (!Match(temp)) return 0;
                if (t.Contains(temp))
                {
                    count++;
                }
            }
            return count;
        }

        static int BitPlusPlus(int Operations)
        {

            int Result = 0;
            string temp;
            if (Operations >= 1 && Operations <= 150)
            {
                for (int i = 0; i < Operations; i++)
                {
                    temp = Console.ReadLine();
                    if (!Regex.IsMatch(temp, @"^([\+-]{2})?[a-zA-Z]([\+-]{2})?$")) return 0;

                    int index = temp.IndexOfAny(new char[] { '-', '+' });
                    if (index != -1 && index > 2)
                    {
                        if (temp[index] == '+')
                            Result++;
                        else
                            Result--;
                    }
                    else if (index != -1 && index < 2)
                    {
                        if (temp[index] == '+')
                            ++Result;
                        else
                            --Result;
                    }

                }
            }
            return Result;
        }
    }
}

using System;
class Test {
    static void Main(){
        string line = Console.ReadLine();
        string tmp = "";
        line.ToLower();
        for (int i = 0 ; i < line.Length ; i++){
            if(i == 0){
                tmp += line[i];
            } else {
                if(line[i] == 'l' && line[i-1] != 'l'){
                    tmp += line[i];
                }
                if(line[i] != line[i-1]){
                    tmp += line[i];
                }
            }
        }
        if(tmp.IndexOf("hello") != -1){
            Console.WriteLine("YES");
        } else {
            Console.WriteLine("NO");
        }
    }
}

using System;
class Program
{
    static void Main(string[] args)
    {
        string name = Console.ReadLine();
        string ans = "NO";

        for (int i = 0; i < name.Length -3; i++)
        {
            if (name[i] == 'h')
            {
                for(int i2=i+1;i2<name.Length-2;i2++)
                {
                    if (name[i2] == 'h') continue;
                    else if(name[i2]=='e')
                    {
                        for(int i3 = i2 + 1; i3 < name.Length-1; i3++)
                        {
                            if (name[i3] == 'e') continue;
                            else if (name[i3] == 'l')
                            {
                                for (int i4 = i3 + 1; i3 < name.Length; i4++)
                                {
                                    if (name[i4] == 'l') continue;
                                    else if (name[i4] == 'o') ans = "YES";
                                    else break;
                                }
                            }
                            else break;
                        }
                    }
                    else break;
                }
            }
            if (ans == "YES")
                break;
        }
        Console.WriteLine(ans);
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Chat_room_58_A_final
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            Console.WriteLine(checkChatting(input));
        }

        public static string checkChatting(string word)
        {
            List<int> indeces = new List<int>();
            string helloWord = "hello";
            int j = 0;
            for (int i = 0; i < word.Length; i++)
            {
                if (word[i] == helloWord[j])
                {
                    j++;
                    if (j == 4)
                        return "YES";
                }
                //int index = word.IndexOf(helloWord[i]);
                // indeces.Add(index);
                // //replace the found char with another dummy one
                // char[] ch = word.ToCharArray();
                // ch[index] = '-';
                // word = new string(ch);
            }
            return "NO";
        }
        public static bool IsIndecesIncreasing(List<int> indeces)
        {
            bool increase = true;
            for (int i = 0; i < indeces.Count - 1; i++)
            {
                if (indeces[i] > indeces[i + 1])
                    increase = false;
            }
            return increase;
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication35
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = Console.ReadLine();
            for(int i = 0; i<str.Length; i++)
            {
                if (str[i] == 'h')
                {
                        for(i++; i<str.Length; i++)
                        {
                            if (str[i] == 'e')
                            {
                                for (i++; i < str.Length; i++)
                                {
                                    if (str[i] == 'l')
                                    {
                                        for (i++; i < str.Length; i++)
                                        {
                                            if (str[i] == 'l')
                                            {
                                                for (i++; i < str.Length; i++)
                                                {
                                                    if (str[i] == 'o')
                                                    {
                                                        Console.WriteLine("YES");
                                                        break;
                                                    }

                                                }
                                            }
                                            else
                                                if (i == str.Length - 1)
                                                break;
                                        }
                                    }
                                    else
                                        if (i == str.Length - 1)
                                        break;
                                }
                            }
                            else
                                if (i == str.Length - 1)
                                break;

                        }
                }
                else
                {
                    if(i==str.Length-1)
                    Console.WriteLine("NO");

                }

            }
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _58A
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            if (s.Contains("ahhellllloou")) Console.WriteLine("YES");
            else Console.WriteLine("NO");
            Console.Read();
        }
    }
}

using System;
using System.Linq;

namespace ChatRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            string word = Console.ReadLine();

            string hello = "hello";
            int i = 0;
            char current = hello[i];

            foreach (char c in word)
            {
                if (c == current && i < 4)
                {
                    i++;
                    current = hello[i];
                }
            }

            if (i == 4)
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }

            Console.ReadLine();
        }
    }
}

using System;

namespace CF_Hello {
    class Program {
        static void Main(string[] args) {
            string input = Console.ReadLine();
            string example = "hello";
            int deleted = 0;
            for(int i=0;i<input.Length;i++) {
                if (input[i] == example[0]) {
                    example.Remove(0, 1);
                    if (example == string.Empty) {
                        Console.WriteLine("YES");
                        return;
                    }
                }

            }
            Console.WriteLine("NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();

            bool h, e, l, o;
            h = e = l = o = false;

            if (s.Contains('h') == true)
            {
                if (s.IndexOf('h') < s.IndexOf('e'))
                {
                    h = true;
                }

            }
            else
            {
                Console.WriteLine("NO");
                goto End;
            }

            if (s.Contains('e') == true)
            {
                if (s.IndexOf('e') < s.IndexOf('l'))
                {
                    e = true;
                }

            }
            else
            {
                Console.WriteLine("NO");
                goto End;
            }

            if (s.Contains('l') == true)
            {
                int l1 = 0;
                for (int i = s.IndexOf('e'); i < s.Length - 1; i++)
                {
                    if (s[i] == 'l')
                    {
                        l1++;
                    }
                }

                if (l1 >= 2)
                {
                    l = true;
                }
            }
            else
            {
                Console.WriteLine("NO");
                goto End;
            }

            if (s.Contains('o') == true)
            {
                if (s.IndexOf('l') < s.IndexOf('o'))
                {
                    o = true;
                }
            }
            else
            {
                Console.WriteLine("NO");
                goto End;
            }

            if ((h == true) && (e == true) && (l == true) && (o == true))
            {
                Console.WriteLine("YES");
            }
            End:
            Console.Read();
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;

class Problem
{
    public static void Main()
    {
        var allowed = new Dictionary<char, int>
        {
            { 'h', 1 },
            { 'e', 1 },
            { 'l', 2 },
            { 'o', 1 }
        };

        var prev = new Dictionary<char, char>
        {
            { 'e', 'h' },
            { 'l', 'e' },
            { 'o', 'l' }
        };

        string word = Console.ReadLine();

        for (int i = 0; i < word.Length; i++)
        {
            if (allowed.ContainsKey(word[i]))
            {
                if (word[i] == 'h')
                {
                    allowed[word[i]]--;
                }
                else
                {
                    if (word[i] == 'l')
                    {
                        if (allowed['l'] == 2)
                        {
                            if (allowed[prev['l']] <= 0)
                            {
                                allowed['l']--;
                            }
                        }
                        else
                        {
                            allowed['l']--;
                        }
                    }
                    else
                    {
                        if (allowed[prev[word[i]]] <= 0)
                        {
                            allowed[word[i]]--;
                        }
                    }
                }
            }
        }

        Console.WriteLine(allowed.Select(x => (int)x.Value).Sum() <= 0 ? "YES" : "NO");
        //var letters = new LinkedList<char>(Console.ReadLine().ToCharArray());

        //LinkedListNode<char> current = letters.First;

        //while (current != null)
        //{
        //    var next = current.Next;
        //    if (!allowed.Contains(current.Value))
        //    {
        //        letters.Remove(current);
        //    }
        //    else if (current.Value == 'h')
        //    {
        //        if (current.Next != null && current.Next.Value != 'e')
        //        {
        //            letters.Remove(current.Next);
        //        }
        //    }
        //    else if (current.Value == 'e')
        //    {
        //        if (current.Next != null && current.Next.Value != 'l')
        //        {
        //            letters.Remove(current.Next);
        //        }
        //    }
        //    else if (current.Value == 'l')
        //    {
        //        if (current.Next != null)
        //        {
        //            if (current.Previous != null && current.Previous.Value == 'e' && current.Next.Value != 'l')
        //            {
        //                letters.Remove(current.Next);
        //            }
        //            else if (current.Previous != null && current.Previous.Value == 'l' && current.Next.Value != 'o')
        //            {
        //                letters.Remove(current.Next);
        //            }
        //        }
        //    }
        //    current = next;
        //}

    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _58A_ChatRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            bool h, e, l, o;
            h = s.Contains('h');
            e = s.Contains('e');
            l = s.Contains('l');
            o = s.Contains('o');
            if (h && e && l && o && (s.Length < 6))
                Console.WriteLine("NO");
            else
                Console.WriteLine("YES");

        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CF32ChatRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            string a = Console.ReadLine();
            for(int i=0;i<a.Length;i++)
            {
                if(a[i]=='h' || a[i]=='e' || a[i]=='l' || a[i]=='o')
                {

                }
                else
                {
                    int index = a.IndexOf(a[i]);
                    a = a.Remove(index, 1);
                }
            }
            int got = 0;
            for(int i=0;i<a.Length;i++)
            {
                switch(a[i])
                {
                    case 'h':
                        if (got == 0)
                            got++;
                        else
                        {
                            int index = a.IndexOf(a[i]);
                            a = a.Remove(index, 1);
                        }
                        break;
                    case 'e':
                        if (got == 1)
                            got++;
                        else
                        {
                            int index = a.IndexOf(a[i]);
                            a = a.Remove(index, 1);
                        }
                        break;
                    case 'l':
                        if(got==2 || got ==3)
                        {
                            got++;
                        }
                        else
                        {
                            int index = a.IndexOf(a[i]);
                            a = a.Remove(index, 1);
                        }
                        break;
                    case 'o':
                        if (got == 4)
                        {
                            got++;
                        }
                        else
                        {
                            int index = a.IndexOf(a[i]);
                            a = a.Remove(index, 1);
                        }
                        break;
                }
            }
            if(a=="hello")
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }
            Console.ReadLine();
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ChatRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            string IN = Console.ReadLine();
            char[] InC = IN.ToCharArray();
            char[] sin = { 'h', 'e', 'l', 'l', 'o' };
            int c = 0;
            int index=0;
            for (int i = 0; i < InC.Length; i++)
            {
                    if(InC[i]=='h')
                    {
                        index = i;
                    }
                for (int d = 0; d < sin.Length; d++)
                {
                    if(InC[i]==sin[d])
                    {
                        if(index<i)
                        c++;
                        break;
                    }
                }
            }
            if (c == sin.Length-1) Console.WriteLine("yes");
            else Console.WriteLine("No");

        }
    }
}

using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;

	// OLYASHAA_FOREVER

class MainClass
{
	public static void Main(string[] args)
	{
		bool h, e, l, l1, o;
		h = e = l = l1 = o = false;
		string s = Console.ReadLine();
		for (int i = 0; i < s.Length; ++i)
		{
			if (s[i] == 'h')
				h = true;
			else if (s[i] == 'e' && h == true)
				e = true;
			else if (s[i] == 'l' && e == true)
				l = true;
			else if (s[i] == 'l' && l == true)
				l1 = true;
			else if (s[i] == 'o' && l1 == true)
				o = true;
		}
		Console.Write(o == true ? "YES" : "NO");
	}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            String input;
            String hello = "hello";

            input = Console.ReadLine();

            for (int i = 0; i < input.Length-1; i++)
            {
                if (hello.Length == 0)
                {
                    break;
                }
                if (hello[0] == input[i])
                {
                    hello = hello.Substring(1);
                }

            }
            if (hello.Length > 0)
            {
                Console.WriteLine("NO");
            }
            else
            {
                Console.WriteLine("YES");
            }

        }
    }

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace codeforces
{
    class chat_room2
    {
        static void Main(string[] args)
        {
            string a = Console.ReadLine().ToLower(), b="";
            for(int i = 0; i < a.Length; i++)
            {
                if(a[i] == 'h')
                {
                    b += "h";
                    for(int j = i; j < a.Length; j++)
                    {
                        if(a[j] == 'e')
                        {
                            b += "e";
                            for(int k = j; k < a.Length; k++)
                            {
                                if(a[k] == 'l')
                                {
                                    b += "l";
                                    k++;
                                    for(int l = k; l < a.Length; l++)
                                    {
                                        if (a[l] == 'l')
                                        {
                                            b += "l";
                                            for(int m = l; m < a.Length; m++)
                                            {
                                                if(a[m] == 'o')
                                                {
                                                    b += "o";
                                                    break;

                                                }
                                            }
                                            break;

                                        }
                                    }
                                    break;

                                }
                            }
                            break;

                        }
                    }
                    break;

                }
            }
            Console.WriteLine(b);
            if (b == "hello")
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }

        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Problem_Solving
{
    class Program
    {
        static void Main(string[] args)
        {
            // The code provided will print ‘Hello World’ to the console.
            // Press Ctrl+F5 (or go to Debug > Start Without Debugging) to run your app.
            //Console.WriteLine("Hello World!");
            //Console.ReadKey();
            var target = "hello";
            string testString;
            testString = Console.ReadLine();
            int index = 0;
            var res = "";
            foreach (var character in target)
            {
                var x = testString.IndexOf(character);
                if (testString.IndexOf(character) >= index)
                    index = testString.IndexOf(character);
                else
                {
                    res = "NO";
                    break;
                }
            }
            if(res == "NO")
                Console.Write("NO");
            else
                Console.Write("YES");

            // Go to http://aka.ms/dotnet-get-started-console to continue learning how to build a console app!
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication12
{
    class Program
    {
        static void Main(string[] args)
        {
            char[] s = Console.ReadLine().ToArray();
            char[] hello = { 'h', 'e', 'l', 'l', 'o' };
            int[] index = new int[hello.Length];
            bool answer = true;
            for (int i = 0; i < hello.Length; i++)
            {
                for (int u = 0; u < s.Length; u++)
                {
                    if (hello[i] == s[u])
                    {
                        if (i != 0 && index[i - 1] == u)
                        {
                        }
                        else
                        {
                            index[i] = u;
                            break;
                        }
                    }
                }
                if (i != 0 && index[i - 1] > index[i])
                {
                    answer = false;
                    break;
                }
            }
            Console.Write(answer ? "YES" : "NO");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Lv1Phase1
{
    class Program
    {
        static void Main(string[] args)
        {
            int checker = 0;
            string msg = Console.ReadLine();
            for (int i = 0; i < msg.Length; i++)
            {
                if ((msg[i] == 'h' || msg[i] == 'H') && checker == 0)
                {
                    checker++;
                }
                else if ((msg[i] == 'e' || msg[i] == 'E') && checker == 1)
                {
                    checker++;
                }
                else if ((msg[i] == 'l' || msg[i] == 'L') && checker == 2)
                {
                    checker++;
                }
                else if ((msg[i] == 'l' || msg[i] == 'L') && checker == 3)
                {
                    checker++;
                }
                else if ((msg[i] == 'o' || msg[i] == 'O') && checker == 4)
                {
                    break;

                }
                else checker = 0;
            }
            if (checker == 4) Console.WriteLine("YES");
            else Console.WriteLine("NO");
            //Console.ReadKey();
        }
    }
}

using System;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        var input = Console.ReadLine();
        if (input.Contains('h'))
            if (input.LastIndexOf('e') > input.IndexOf('h'))
                if (input.LastIndexOf('l') > input.IndexOf('e'))
                    if (input.LastIndexOf('l') > input.IndexOf('l'))
                        if (input.LastIndexOf('o') > input.LastIndexOf('l'))
                        {
                            Console.WriteLine("YES");
                            return;
                        }
        Console.WriteLine("NO");
    }
}