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)