Problem:
Score : 100 points

Problem Statement

A Hitachi string is a concatenation of one or more copies of the string hi.

For example, hi and hihi are Hitachi strings, while ha and hii are not.

Given a string S, determine whether S is a Hitachi string.

Constraints

The length of S is between 1 and 10 (inclusive).

S is a string consisting of lowercase English letters.

Input

Input is given from Standard Input in the following format:

S

Output

If S is a Hitachi string, print Yes; otherwise, print No.

Sample Input 1

hihi

Sample Output 1

Yes

hihi is the concatenation of two copies of hi, so it is a Hitachi string.

Sample Input 2

hi

Sample Output 2

Yes

Sample Input 3

ha

Sample Output 3

No

Solution in C# (Mono 4.6.2.0) (judge verdict: Runtime Error)

using System;

class Program2
{
    static void Main(string[] args)
    {
        string[] _strinput = Console.ReadLine().Split();
        int iA = int.Parse(_strinput[0]), iB = int.Parse(_strinput[1]), iM= int.Parse(_strinput[2]);
        string[] _stras= Console.ReadLine().Split();
        string[] _strbs = Console.ReadLine().Split();
        string[] _strxyc;
        int ixs , iys , ics;
        int iTotals = 100000;
        for (int i = 0; i < iM; i++) {
            _strxyc = Console.ReadLine().Split();
            ixs = int.Parse(_strxyc[0])-1;
            iys = int.Parse(_strxyc[1])-1;
            ics = int.Parse(_strxyc[2]);
            iTotals = Math.Min((int.Parse(_stras[ixs]) + int.Parse(_strbs[iys]) - ics), iTotals);
        }
        int iAs = 100000;
        int iBs = 100000;
        for (int i = 0; i < iA; i++)
        {
            iAs = Math.Min(int.Parse(_stras[i]),iAs);
        }
        for (int i = 0; i < iB; i++)
        {
            iBs = Math.Min(int.Parse(_strbs[i]), iBs);
        }
        iTotals = Math.Min((iAs + iBs), iTotals);
    
    Console.WriteLine(iTotals);
        

    }
}