#include <bits/stdc++.h>
using namespace std;
long long t, n, nr, poz, ok, poz1, init, x;
char s[1000005];
int main() {
  cin >> t;
  cin.get();
  for (; t--;) {
    cin >> x;
    cin.get();
    memset(s, 0, sizeof(s));
    cin.getline(s, 505);
    n = strlen(s);
    ok = 0;
    for (poz = 1; poz <= x; poz++) {
      nr = s[poz - 1] - '0';
      if (ok == 0) {
        if (n + (nr - 1) * (n - poz) >= x) {
          ok = 1;
          poz1 = poz;
          init = n;
          for (; n <= x; n++) {
            s[n] = s[poz1];
            poz1++;
            if (poz1 == init) {
              poz1 = poz;
            }
          }
          n = (init + (nr - 1) * (init - poz)) % 1000000007;
        } else if (n + (nr - 1) * (n - poz) < x) {
          poz1 = poz;
          init = n;
          for (; n <= init + (nr - 1) * (init - poz); n++) {
            s[n] = s[poz1];
            poz1++;
            if (poz1 == init) {
              poz1 = poz;
            }
          }
          n = (init + (nr - 1) * (init - poz));
        }
      } else {
        n = (n + (nr - 1) * (n - poz)) % 1000000007;
      }
    }
    cout << n << '\n';
  }
  return 0;
}
