#include <bits/stdc++.h>
using namespace std;
int main() {
  long long t;
  scanf("%lld", &t);
  while (t--) {
    long long x;
    scanf("%lld", &x);
    char s[1000005];
    scanf("%s", s);
    long long ans = strlen(s);
    long long len = ans;
    vector<char> _s(s, s + strlen(s));
    for (long long i = 1; i <= x; i++) {
      long long v = _s[i - 1] - 49;
      long long len = ans;
      ans = ans + (((len - i + 1000000007) % 1000000007) * ((v) % 1000000007)) %
                      1000000007;
      ans %= 1000000007;
      if (_s.size() < x) {
        vector<char> sub(_s.begin() + i, _s.end());
        for (int it = 0; it < v; it++)
          _s.insert(_s.end(), sub.begin(), sub.end());
      }
    }
    cout << ans << endl;
  }
  return 0;
}
