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 Java7 (OpenJDK 1.7.0) (judge verdict: Wrong Answer)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * @author 株式会社ワールドインテック 荒木広夢
 * @since 2020 03.09
 *
 */
class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String strHkey = br.readLine();

		if (inputDataCheck(strHkey)) {
			String reg = "(hi)*";
			System.out.println(strHkey.matches(reg) ? "Yes" : "No");
		}
	}

	/**
	 * 未入力
	 * バイト数
	 * 文字列チェック
	 * @param hKye
	 * @return
	 */
	public static boolean inputDataCheck(final String hKye) {
		//未入力、バイト数チェック
		if (hKye == null || hKye.length() <= 0) {
			System.out.println("文字が入力されていません。半角英文字で入力してください。");
			return false;
		}

		//偶数でない hitachi文字列でない為処理を返す
		if (hKye.length() % 2 != 0) {
			return false;
		}

		return true;
	}
}