#include #include #define int long long using namespace std; int powmod(int a, int n, int mod) { if (n == 0) return 1; if (n % 2 == 0) return powmod((a * a) % mod, n / 2, mod); return a * powmod(a, n - 1, mod) % mod; } int mod = 1000000007; int a; string b; signed main() { cin >> a >> b; int len = b.length(); int ans = 0; for (int n = 0; n < len - 1; n++) { int cnt = (powmod(a, n + 1, mod) - powmod(a, n, mod) + mod) % mod; //cout << "cnt = " << cnt << endl; ans += n * cnt; ans %= mod; } int bmod = 0; for (int i = 0; i < len; i++) { bmod *= a; bmod += b[i] - '0'; bmod %= mod; } int cnt = (bmod + 1 - powmod(a, len - 1, mod) + mod) % mod; //cout << "cnt = " << cnt << endl; ans += (len - 1) * cnt; ans %= mod; cout << ans << endl; return 0; }