import sys input = lambda :sys.stdin.readline()[:-1] ni = lambda :int(input()) na = lambda :list(map(int,input().split())) sys.setrecursionlimit(10**7) yes = lambda :print("yes");Yes = lambda :print("Yes") no = lambda :print("no");No = lambda :print("No") ####################################################################### a = ni() b = list(map(int,list(input())))[::-1] Z = len(b) ans = 0 p = 10**9+7 for i in range(Z-1): ans+=i*(pow(a,i+1,p)-pow(a,i,p))%p ans%=p #print(ans) ans+=((Z-1)*(b[-1]-1)%p*pow(a,Z-1,p))%p ans%=p t = 1 for i in range(Z-1): t+=b[i]*pow(a,i,p) t%=p ans+=t*(Z-1)%p ans%=p print(ans)