#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;
  }
}
