#P1389C. Good String

    ID: 3064 Type: RemoteJudge 2000ms 256MiB Tried: 0 Accepted: 0 Difficulty: 5 Uploaded By: Tags>brute forcedpgreedytwo pointers*1500

Good String

Description

Let's call left cyclic shift of some string t1t2t3tn1tnt_1 t_2 t_3 \dots t_{n - 1} t_n as string t2t3tn1tnt1t_2 t_3 \dots t_{n - 1} t_n t_1.

Analogically, let's call right cyclic shift of string tt as string tnt1t2t3tn1t_n t_1 t_2 t_3 \dots t_{n - 1}.

Let's say string tt is good if its left cyclic shift is equal to its right cyclic shift.

You are given string ss which consists of digits 09.

What is the minimum number of characters you need to erase from ss to make it good?

The first line contains single integer tt (1t10001 \le t \le 1000) — the number of test cases.

Next tt lines contains test cases — one per line. The first and only line of each test case contains string ss (2s21052 \le |s| \le 2 \cdot 10^5). Each character sis_i is digit 09.

It's guaranteed that the total length of strings doesn't exceed 21052 \cdot 10^5.

For each test case, print the minimum number of characters you need to erase from ss to make it good.

Input

The first line contains single integer tt (1t10001 \le t \le 1000) — the number of test cases.

Next tt lines contains test cases — one per line. The first and only line of each test case contains string ss (2s21052 \le |s| \le 2 \cdot 10^5). Each character sis_i is digit 09.

It's guaranteed that the total length of strings doesn't exceed 21052 \cdot 10^5.

Output

For each test case, print the minimum number of characters you need to erase from ss to make it good.

Sample Input 1

3
95831
100120013
252525252525

Sample Output 1

3
5
0

Note

In the first test case, you can erase any 33 characters, for example, the 11-st, the 33-rd, and the 44-th. You'll get string 51 and it is good.

In the second test case, we can erase all characters except 0: the remaining string is 0000 and it's good.

In the third test case, the given string ss is already good.