minict03

View as PDF

Points: 300 (p) Time limit: 1.0s Memory limit: 1023M Input: stdin Output: stdout

Gọi phép dịch trái của một string \(t_1t_2t_3...t_{n-1}t_n\) là string \(t_2t_3...t_{n-1}t_nt_1\)

Gọi phép dịch phải của một string \(t_1t_2t_3...t_{n-1}t_n\) là string \(t_nt_1t_2t_3...t_{n-1}\)

Ví dụ: s = "4579" dịch trái là "5794", dịch phải là "9457"

Một string được gọi là good nếu phép dịch trái và phép dịch phải của nó bằng nhau.

Bạn được cho một string s chỉ bao gồm các kí tự từ 0 đến 9.

Hãy tính toán số lượng kí tự ít nhất cần xóa để làm cho string s trở thành good.

Input

  • Dòng đầu tiên là số nguyên \(T (T \le 10)\) - là số lượng bộ dữ liệu.
  • Mỗi bộ dữ liệu gồm một string \(s\) (\(s.size() \le 2*10^5\)).

Output

  • Mỗi bộ dữ liệu in ra một số nguyên là số lượng ít nhất kí tự cần xóa để làm cho string s trở thành good.

Example

Test 1

Input
3
95831
100120013
252525252525
Output
3
5
0
Note

\(95831\) xoá 3 kí tự còn \(95\) là good string

\(100120013\) xoá 5 kí tự còn \(0000\) là good string

Test 3 đã là good string nên không cần xoá


Comments

There are no comments at the moment.