public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
int res = solve(s);
System.out.println(res);
}
private static int solve(String s) {
char a[] = s.toCharArray();
int j = 0;
int len = Integer.MAX_VALUE;
int begin = 0;
int end = -1;
for(int i = 0;i
if(j-i+1>=4&&j<a.length&&containAll(a,i,j)){
if(check(a,i,j)&&j-i+1<len){
len = j - i + 1;
begin = i;
end = j;
}
}
while(j<a.length){
c = a[j];
if(!check(c)){
j++;
continue;
}
if(containAll(a,i,j)){
if(check(a,i,j)&&j-i+1<len){
len = j - i + 1;
begin = i;
end = j;
}
break;
}
j++;
}
}
//print(a,begin,end);
return len==Integer.MAX_VALUE?-1:len;
}
private static void print(char[] a, int begin, int end) {
System.out.print(begin+" "+end);
for(int i = begin;i<=end;i++){
System.out.print(a[i]);
}
}
private static boolean check(char[] a, int i, int j) {
int c1 = 0,c2 = 0,c3 = 0;
for(int k = i;k<=j;k++){
if(a[k]=='h')c1++;
if(a[k]=='i')c2++;
if(a[k]=='o')c3++;
}
return c1==2&&c2==1&&c3==1;
}
private static boolean containAll(char[] a, int i, int j) {
int c1 = 0,c2 = 0,c3 = 0;
for(int k = i;k<=j;k++){
if(a[k]=='h')c1++;
if(a[k]=='i')c2++;
if(a[k]=='o')c3++;
}
return c1>=2&&c2>=1&&c3>=1;
}
private static boolean check(char c) {
return c=='h'||c=='i'||c=='o';
}