#include using namespace std; #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; #include using mint = atcoder::modint1000000007; int main() { cin.tie(nullptr)->sync_with_stdio(false); int a; string b; cin >> a >> b; reverse(b.begin(), b.end()); mint ans = 0; rep(i, b.size()) { if (i == b.size() - 1) { mint bb = 0; rep(i, b.size()) bb += (b[i] - '0') * mint(a).pow(i); ans += i * (bb - mint(a).pow(i) + 1); } else ans += i * (a - 1) * mint(a).pow(i); } cout << ans.val() << '\n'; return 0; }