← Home
```go
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var t int
	fmt.Fscan(in, &t)

	for ; t > 0; t-- {
		var s string
		fmt.Fscan(in, &s)
		n := len(s)

		freq := [10]int{}
		for i := 0; i < n; i++ {
			freq[s[i]-'0']++
		}

		best := 0
		for i := 0; i < 10; i++ {
			if freq[i] > best {
				best = freq[i]
			}
		}

		for d1 := 0; d1 < 10; d1++ {
			for d2 := 0; d2 < 10; d2++ {
				if d1 == d2 {
					continue
				}
				curLen := 0
				need := d1
				for i := 0; i < n; i++ {
					if int(s[i]-'0') == need {
						curLen++
						if need == d1 {
							need = d2
						} else {
							need = d1
						}
					}
				}
				if curLen%2 == 1 {
					curLen--
				}
				if curLen > best {
					best = curLen
				}
			}
		}

		fmt.Fprintln(out, n-best)
	}
}
```