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 (GCC 5.4.1) (judge verdict: Wrong Answer)

#include<stdio.h>
#include<stdlib.h>
int main() {
    int a, b, m, min;
    int* an;
    int* bn;
    scanf("%d%d%d", &a, &b, &m);
    an = (int*)malloc(sizeof(int) * (a + 1));
    bn = (int*)malloc(sizeof(int) * (b + 1));

    for (int i = 1; i <= a; i++) { scanf("%d", &an[i]); }
    for (int i = 1; i <= b; i++) { scanf("%d", &bn[i]); }
    printf("%d\n", min);
    {
        int d1, d2, d3;
        scanf("%d%d%d", &d1, &d2, &d3);
        min = an[d1] + an[d2] - d3;
    }
    for (int i = 1; i < m; i++) {
        int d1, d2, d3;
        scanf("%d%d%d", &d1, &d2, &d3);
        int cost = an[d1] + an[d2] - d3;
        if (cost < min) { min = cost; }
    }
    printf("%d", min);
    return 0;
}