← Home
```go
package main

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

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

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

	for tc := 0; tc < t; tc++ {
		var n int
		var s string
		fmt.Fscan(reader, &n)
		fmt.Fscan(reader, &s)

		count := 0

		for i := 0; i < n; i++ {
			cnt := make([]int, 10)
			distinct := 0
			maxCnt := 0

			for j := i; j < n && j-i < 100; j++ {
				d := int(s[j] - '0')
				if cnt[d] == 0 {
					distinct++
				}
				cnt[d]++
				if cnt[d] > maxCnt {
					maxCnt = cnt[d]
				}

				if maxCnt <= distinct {
					count++
				} else if distinct == 10 {
					break
				}
			}
		}

		fmt.Fprintln(writer, count)
	}
}
```