CF1389C Good String

Description

Let's call left cyclic shift of some string $ t_1 t_2 t_3 \dots t_{n - 1} t_n $ as string $ t_2 t_3 \dots t_{n - 1} t_n t_1 $ . Analogically, let's call right cyclic shift of string $ t $ as string $ t_n t_1 t_2 t_3 \dots t_{n - 1} $ . Let's say string $ t $ is good if its left cyclic shift is equal to its right cyclic shift. You are given string $ s $ which consists of digits 0–9. What is the minimum number of characters you need to erase from $ s $ to make it good?

Input Format

The first line contains single integer $ t $ ( $ 1 \le t \le 1000 $ ) — the number of test cases. Next $ t $ lines contains test cases — one per line. The first and only line of each test case contains string $ s $ ( $ 2 \le |s| \le 2 \cdot 10^5 $ ). Each character $ s_i $ is digit 0–9. It's guaranteed that the total length of strings doesn't exceed $ 2 \cdot 10^5 $ .

Output Format

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

Explanation/Hint

In the first test case, you can erase any $ 3 $ characters, for example, the $ 1 $ -st, the $ 3 $ -rd, and the $ 4 $ -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 $ s $ is already good.