```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)
}
}
```