#include <bits/stdc++.h>
using namespace std;
void file() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
}
const long long INF64 = 1e18;
const int INF = 1e9 + 7;
string s, t;
int main() {
  file();
  int q;
  cin >> q;
  for (int k = 0; k < int(q); k++) {
    int n;
    cin >> n;
    cin >> s;
    int i = 0;
    long long l = s.size();
    while (s.length() < n) {
      if (s[i] == '2' || s[i] == '3') {
        t = s.substr(i + 1);
        if (s.size() + t.size() < n)
          s += t;
        else {
          int k = n - s.size();
          s += t.substr(0, k);
        }
        l += 1ll * t.size();
        l %= INF;
      }
      if (s[i] == '3') {
        if (s.size() + t.size() < n)
          s += t;
        else {
          int k = n - s.size();
          s += t.substr(0, k);
        }
        l += 1ll * t.size();
        l %= INF;
      }
      i++;
    }
    while (i < n) {
      long long l1 = (l - (i + 1) + INF) % INF;
      if (s[i] == '2' || s[i] == '3') {
        l += 1ll * l1;
        l %= INF;
      }
      if (s[i] == '3') {
        l += 1ll * l1;
        l %= INF;
      }
      i++;
    }
    cout << l << "\n";
  }
}
