S=input()
c=len(S)
mod=1000000007
p=1
ans=pow(3,c-1,mod)
for i in range(1,c):
  if S[i]=="1":
    ans+=pow(2,p,mod)*pow(3,c-i-1,mod)
    p+=1
print((ans+pow(2,p,mod))%mod) S=input() S input() input c=len(S) c len(S) len S mod=1000000007 mod 1000000007 p=1 p 1 ans=pow(3,c-1,mod) ans pow(3,c-1,mod) pow 3 c-1 c 1 mod for i in range(1,c):
  if S[i]=="1":
    ans+=pow(2,p,mod)*pow(3,c-i-1,mod)
    p+=1 i range(1,c) range 1 c if S[i]=="1":
    ans+=pow(2,p,mod)*pow(3,c-i-1,mod)
    p+=1 S[i]=="1" S[i] S i "1" ans+=pow(2,p,mod)*pow(3,c-i-1,mod) ans pow(2,p,mod)*pow(3,c-i-1,mod) pow(2,p,mod) pow 2 p mod pow(3,c-i-1,mod) pow 3 c-i-1 c-i c i 1 mod p+=1 p 1 print((ans+pow(2,p,mod))%mod) print (ans+pow(2,p,mod))%mod ans+pow(2,p,mod) ans pow(2,p,mod) pow 2 p mod mod ans+=pow(2,p,mod)*pow(3,c-i-1,mod) pow(2,p,mod)*pow(3,c-i-1,mod) ans ans=pow(3,c-1,mod) pow(3,c-1,mod) ans mod=1000000007 1000000007 mod c=len(S) len(S) c S=input() input() S p+=1 1 p p=1 1 p
S=input()
c=len(S)
mod=1000000007
p=1
ans=pow(3,c-1,mod)
for i in range(1,c):
  if S[i]=="1":
    ans+=pow(2,p,mod)*pow(3,c-i-1,mod)
    p+=1
print((ans+pow(2,p,mod))%mod)