import sys
input = lambda : sys.stdin.readline().rstrip()

sys.setrecursionlimit(2*10**5+10)
write = lambda x: sys.stdout.write(x+"\n")
debug = lambda x: sys.stderr.write(x+"\n")
writef = lambda x: print("{:.12f}".format(x))


a = int(input())
b = input()
n = len(b)
M = 10**9+7
val = 0
v = 1
for i in range(n)[::-1]:
    val += v*int(b[i])%M
    val %= M
    v *= a
    v %= M
ans = 0
v = a-1
for i in range(1, n):
    ans += v*(i-1)%M
    ans %= M
    v *= a
    v %= M
ans += (val - pow(a, n-1, M) + 1) * (n-1)
print(ans%M)