Let's call left cyclic shift of some string t_1 t_2 t_3 ... t_{n - 1} t_n as string t_2 t_3 ... 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 ... 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

The first line contains single integer t (1 ≤ t ≤ 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 ≤ |s| ≤ 2 ⋅ 10^5). Each character s_i is digit 0–9.

It's guaranteed that the total length of strings doesn't exceed 2 ⋅ 10^5.

Output

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

Example

Input


3
95831
100120013
252525252525


Output


3
5
0

Note

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.
import sys
reader = (line.rstrip() for line in sys.stdin)
input = reader.__next__

def getInts():
    return [int(s) for s in input().split()]

def getInt():
    return int(input())

def getStrs():
    return [s for s in input().split()]

def getStr():
    return input()

def listStr():
    return list(input())

import collections as col

def solve():
    """
    length is even:
    T1 = T3 = T5 = T1, T2 = T4 = T6 = T2
    
    length is odd
    T1 = T3 = T5 = T7 = T2 = T4 = T6
    if odd length, all elements must be equal
    """
    S = [int(s) for s in input()]
    N = len(S)
    S_count = col.defaultdict(int)
    for s in S:
        S_count[s] += 1
    max_count = 0
    for s in S_count:
        max_count = max(S_count[s],max_count)
    #this is the best possible string consisting entirely of one character, and so we have no reduced the problem to the even only, alternating sequence case
    best = max_count
    #there are only 10 possible digits, and therefore 90 possible alternating choices
    for i in range(10):
        for j in range(10):
            if i == j or S_count[i] + S_count[j] <= best:
                continue
            curr_need = i
            count = 0
            ind = 0
            while ind < N:
                while ind < N and S[ind] != curr_need:
                    ind +=1
                if ind < N:
                    count += 1
                    if curr_need == i:
                        curr_need = j
                    else:
                        curr_need = i
                ind += 1
            if count % 2 == 1:
                count -= 1
            best = max(count,best)
    return N-best
    
T = getInt()
for t in range(T):
    print(solve())
