func_code_string: #include <bits/stdc++.h>   using namespace std;   long long power(long long x, long long y, long long m) {     if (y == 0) return 1;     long long p = power(x, y / 2, m) % m;     p = (p * p) % m;     return (y % 2 == 0) ? p : (x * p) % m;   }   long long gcd(long long a, long long b) {     if (a > b) swap(a, b);     if (a == 0) return b;     return gcd(b % a, a);   }   long long modInverse(long long a, long long m) { return power(a, m - 2, m); }   int main() {     ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);     srand(time(NULL));     ;     long long t;     cin >> t;     while (t--) {       long long x;       cin >> x;       string s;       cin >> s;       long long c = 1, ans = s.size();       while (c <= x) {         long long k = s[c - 1] -  1 ;         if (s.size() < x) {           string a;           a = s.substr(c, s.size());           ans += a.size() * k;           while (k--) s += a;           c++;           ans = ans % 1000000007;         } else {           ans += (ans - c) * k;           ans = ans % 1000000007;           c++;         }       }       cout << (ans + 1000000007) % 1000000007 << endl;     }   }   