func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long inf = 1e18;   const long long mod = 1e9 + 7;   void __p(long long x) { cout << x; }   void __p(int32_t x) { cout << x; }   void __p(float x) { cout << x; }   void __p(double x) { cout << x; }   void __p(long double x) { cout << x; }   void __p(char x) { cout <<      << x <<     ; }   void __p(const char *x) { cout <<     << x <<    ; }   void __p(const string &x) { cout <<     << x <<    ; }   void __p(bool x) { cout << (x ?  true  :  false ); }   void _p() { cout <<  ] n ; }   template <typename T, typename V>   void __p(const pair<T, V> &x) {     cout <<  { ;     __p(x.first);     cout <<  , ;     __p(x.second);     cout <<  } ;   }   template <typename T>   void __p(const T &x) {     long long f = 0;     cout <<  { ;     for (auto &i : x) cout << (f++ ?  ,  :   ), __p(i);     cout <<  } ;   }   template <typename T, typename... V>   void _p(T t, V... v) {     __p(t);     if (sizeof...(v)) cout <<  ,  ;     _p(v...);   }   long long po(long long x, long long p) {     long long ans = 1;     x %= mod;     while (p > 0) {       if (p & 1) ans = (ans * x) % mod;       p = p >> 1;       x = (x * x) % mod;     }     return ans;   }   long long inv(long long x) { return po(x, mod - 2) % mod; }   const long long N = 1e6 + 6;   long long n, m, k, x, y, z, a, b, c, d, i, j, l, r, f, q;   void sol() {     string s;     cin >> n >> s;     map<long long, long long> m;     m[0] = 1;     long long pre = 0;     long long ans = 0;     for (i = 0; i < n; i++) {       pre += s[i] -  0 ;       ans += m[pre - (i + 1)];       m[pre - (i + 1)]++;     }     cout << ans <<   n ;   }   int32_t main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     long long t;     cin >> t;     while (t--) sol();     return 0;   }   