l = input()
MOD = 10**9 + 7
r = len(l)
res = 0
num=0
for i in range(len(l)):
    tmp = r-i-1
    if(l[i]=="1"):
        res += pow(2,num,MOD) * pow(3,tmp,MOD)
        res%=MOD
        num+=1

res += pow(2,num)
print(res%MOD) l = input() l input() input MOD = 10**9 + 7 MOD 10**9 + 7 10**9 10 9 7 r = len(l) r len(l) len l res = 0 res 0 num=0 num 0 for i in range(len(l)):
    tmp = r-i-1
    if(l[i]=="1"):
        res += pow(2,num,MOD) * pow(3,tmp,MOD)
        res%=MOD
        num+=1 i range(len(l)) range len(l) len l tmp = r-i-1 tmp r-i-1 r-i r i 1 if(l[i]=="1"):
        res += pow(2,num,MOD) * pow(3,tmp,MOD)
        res%=MOD
        num+=1 l[i]=="1" l[i] l i "1" res += pow(2,num,MOD) * pow(3,tmp,MOD) res pow(2,num,MOD) * pow(3,tmp,MOD) pow(2,num,MOD) pow 2 num MOD pow(3,tmp,MOD) pow 3 tmp MOD res%=MOD res MOD num+=1 num 1 res += pow(2,num) res pow(2,num) pow 2 num print(res%MOD) print res%MOD res MOD res += pow(2,num,MOD) * pow(3,tmp,MOD) pow(2,num,MOD) * pow(3,tmp,MOD) res l = input() input() l res += pow(2,num) pow(2,num) res res = 0 0 res res%=MOD MOD res num+=1 1 num MOD = 10**9 + 7 10**9 + 7 MOD r = len(l) len(l) r tmp = r-i-1 r-i-1 tmp num=0 0 num
l = input()
MOD = 10**9 + 7
r = len(l)
res = 0
num=0
for i in range(len(l)):
    tmp = r-i-1
    if(l[i]=="1"):
        res += pow(2,num,MOD) * pow(3,tmp,MOD)
        res%=MOD
        num+=1

res += pow(2,num)
print(res%MOD)
