for _ in range(int(input())):
n = int(input())
arr = [int(x) for x in input()]
c = 0
for i in range(n):
l = [0]*10
dist = 0
maxi = 0
for j in range(i,min(i+101,n)):
l[arr[j]]+=1
if(l[arr[j]]==1):
dist+=1
else:
maxi = max(maxi,l[arr[j]])
if(maxi<=dist):
c+=1
print(c)
#include <bits/stdc++.h>
/*
* Basic Runtimes Table:
* +-----+-----------------+
* | n | Worst Algorithm |
* +-----+-----------------+
* | 11 | O(n!), O(n^6) |
* | 18 | O(2^n * n^2) |
* | 22 | O(2^n * n) |
* | 100 | O(n^4) |
* | 400 | O(n^3) |
* | 2K | O(n^2 log n) |
* | 10K | O(n^2) |
* | 1M | O(n log n) |
* +-----+-----------------+
*/
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<ii> vii;
#define INF 100000000
#define MOD 1000000007
#define endl '\n'
#define LIST(az, bz) for (int cz = 0; cz < (int)(bz); cz++) cout << az[cz] << (cz == (int)(bz)-1 ? '\n' : ' ');
int T, N;
int main()
{
// ios_base::sync_with_stdio(false);
// cin.tie(NULL);
// cout.tie(NULL);
cin >> T;
while (T--) {
cin >> N;
string s;
cin >> s;
int ans = 0;
for (int n = 0; n < N; n++) {
vi used(10);
vi counts(10);
int unique = 0, max_count = 1;
for (int i = 0; i < 100 && n + i < N; i++) {
int d = s[n+i] - '0';
if (!used[d]) {
used[d] = true;
unique++;
}
counts[d]++;
max_count = max(max_count, counts[d]);
if (unique >= max_count) {
ans++;
}
}
}
cout << ans << endl;
}
}
238. Product of Array Except Self | 229. Majority Element II |
222. Count Complete Tree Nodes | 215. Kth Largest Element in an Array |
198. House Robber | 153. Find Minimum in Rotated Sorted Array |
150. Evaluate Reverse Polish Notation | 144. Binary Tree Preorder Traversal |
137. Single Number II | 130. Surrounded Regions |
129. Sum Root to Leaf Numbers | 120. Triangle |
102. Binary Tree Level Order Traversal | 96. Unique Binary Search Trees |
75. Sort Colors | 74. Search a 2D Matrix |
71. Simplify Path | 62. Unique Paths |
50. Pow(x, n) | 43. Multiply Strings |
34. Find First and Last Position of Element in Sorted Array | 33. Search in Rotated Sorted Array |
17. Letter Combinations of a Phone Number | 5. Longest Palindromic Substring |
3. Longest Substring Without Repeating Characters | 1312. Minimum Insertion Steps to Make a String Palindrome |
1092. Shortest Common Supersequence | 1044. Longest Duplicate Substring |
1032. Stream of Characters | 987. Vertical Order Traversal of a Binary Tree |