A string is called a \(Good\) string if it has the following properties:
You can apply the \(Operation1\) or \(Operation2\) or both on the string S. Now your task is to find out the minimum number of operations to make the string S a \(Good\) string.
Input:
The first line of the input will contain T , the number of testcases.
Next line will contain a string of a certain length. The string will consist of only lower case letters from 'a' to 'z'.
Output:
Print the minimum no of operations required. If impossible print "-1", without quotes .
Constraints:
For 1st test case:
The string is \(abcda\) , we don't need to do any operations as the the string is already satisfying the criteria
For 2nd test case:
Here we have two options either remove the last b and make the string \(abcdefghia\) ,
or remove the first a and make the original string \(bcdefghiab\) , hence we need only 1 operation.
For 3rd test case:
No \(Good\) string could be made
For 4th test case:
Remove the b from the beginning , and remove p , o , l from the end to make the string \(acdefghipa\) (a \(Good\) string ) hence total no of operations= \( 1+3=4\).