l=input()[::-1]
m=10**9+7
ans=1
p=1
for i in range(len(l)):
  if l[i]=='1':
    ans=(ans*2+p)%m
  p=(p*3)%m
print(ans) l=input()[::-1] l input()[::-1] () input ::-1 -1 m=10**9+7 m 10**9+7 10**9 10 9 7 ans=1 ans 1 p=1 p 1 for i in range(len(l)):
  if l[i]=='1':
    ans=(ans*2+p)%m
  p=(p*3)%m i range(len(l)) range len(l) len l if l[i]=='1':
    ans=(ans*2+p)%m
   l[i]=='1' l[i] l i '1' ans=(ans*2+p)%m ans (ans*2+p)%m ans*2+p ans*2 ans 2 p m p=(p*3)%m p (p*3)%m p*3 p 3 m print(ans) print ans p=(p*3)%m (p*3)%m p ans=1 1 ans p=1 1 p ans=(ans*2+p)%m (ans*2+p)%m ans l=input()[::-1] input()[::-1] l m=10**9+7 10**9+7 m
l=input()[::-1]
m=10**9+7
ans=1
p=1
for i in range(len(l)):
  if l[i]=='1':
    ans=(ans*2+p)%m
  p=(p*3)%m
print(ans)