L=input()
a=1
b=2
c=10**9+7
for i in range(1,len(L)):
  if L[i]=="0":
    a=a*3%c
  else:
    a=(a*3+b)%c
    b=b*2%c
print((a+b)%c) L=input() L input() input a=1 a 1 b=2 b 2 c=10**9+7 c 10**9+7 10**9 10 9 7 for i in range(1,len(L)):
  if L[i]=="0":
    a=a*3%c
  else:
    a=(a*3+b)%c
    b=b*2%c i range(1,len(L)) range 1 len(L) len L if L[i]=="0":
    a=a*3%c
  else:
    a=(a*3+b)%c
    b=b*2%c L[i]=="0" L[i] L i "0" a=a*3%c a a*3%c a*3 a 3 c a=(a*3+b)%c a (a*3+b)%c a*3+b a*3 a 3 b c b=b*2%c b b*2%c b*2 b 2 c print((a+b)%c) print (a+b)%c a+b a b c a=1 1 a b=2 2 b c=10**9+7 10**9+7 c L=input() input() L a=a*3%c a*3%c a a=(a*3+b)%c (a*3+b)%c a b=b*2%c b*2%c b
L=input()
a=1
b=2
c=10**9+7
for i in range(1,len(L)):
  if L[i]=="0":
    a=a*3%c
  else:
    a=(a*3+b)%c
    b=b*2%c
print((a+b)%c)