mod=10**9+7

L=input()
l=len(L)
ans=3**(l-1)
a=L.count('1')
cnt=1

for i in range(1,l):
    if L[i]=='1':
        ans+=pow(2,cnt,mod)*pow(3,l-i-1,mod)
        cnt+=1
        
print((ans+pow(2,a,mod))%mod) mod=10**9+7 mod 10**9+7 10**9 10 9 7 L=input() L input() input l=len(L) l len(L) len L ans=3**(l-1) ans 3**(l-1) 3 l-1 l 1 a=L.count('1') a L.count('1') L.count L count '1' cnt=1 cnt 1 for i in range(1,l):
    if L[i]=='1':
        ans+=pow(2,cnt,mod)*pow(3,l-i-1,mod)
        cnt+=1
         i range(1,l) range 1 l if L[i]=='1':
        ans+=pow(2,cnt,mod)*pow(3,l-i-1,mod)
        cnt+=1
         L[i]=='1' L[i] L i '1' ans+=pow(2,cnt,mod)*pow(3,l-i-1,mod) ans pow(2,cnt,mod)*pow(3,l-i-1,mod) pow(2,cnt,mod) pow 2 cnt mod pow(3,l-i-1,mod) pow 3 l-i-1 l-i l i 1 mod cnt+=1 cnt 1 print((ans+pow(2,a,mod))%mod) print (ans+pow(2,a,mod))%mod ans+pow(2,a,mod) ans pow(2,a,mod) pow 2 a mod mod cnt+=1 1 cnt a=L.count('1') L.count('1') a mod=10**9+7 10**9+7 mod cnt=1 1 cnt L=input() input() L ans+=pow(2,cnt,mod)*pow(3,l-i-1,mod) pow(2,cnt,mod)*pow(3,l-i-1,mod) ans ans=3**(l-1) 3**(l-1) ans l=len(L) len(L) l
mod=10**9+7

L=input()
l=len(L)
ans=3**(l-1)
a=L.count('1')
cnt=1

for i in range(1,l):
    if L[i]=='1':
        ans+=pow(2,cnt,mod)*pow(3,l-i-1,mod)
        cnt+=1
        
print((ans+pow(2,a,mod))%mod)