l=input()
n=len(l)
mod=10**9+7
dp=[[0,0]for _ in range(n)]
dp[0]=[2,1]
for i in range(1,n):
  if l[i]=="1":
    dp[i][0]=dp[i-1][0]*2
    dp[i][1]=dp[i-1][1]*3+dp[i-1][0]
  else:
    dp[i][0]=dp[i-1][0]
    dp[i][1]=dp[i-1][1]*3
  dp[i][0]%=mod
  dp[i][1]%=mod
print(sum(dp[n-1])%mod) l=input() l input() input n=len(l) n len(l) len l mod=10**9+7 mod 10**9+7 10**9 10 9 7 [0,0]for _ in range(n) for _ in range(n) _ range(n) range n for _ in range(n) [0,0] 0 0 dp=[[0,0]for _ in range(n)] dp [[0,0]for _ in range(n)] dp[0]=[2,1] dp[0] dp 0 [2,1] 2 1 for i in range(1,n):
  if l[i]=="1":
    dp[i][0]=dp[i-1][0]*2
    dp[i][1]=dp[i-1][1]*3+dp[i-1][0]
  else:
    dp[i][0]=dp[i-1][0]
    dp[i][1]=dp[i-1][1]*3
  dp[i][0]%=mod
  dp[i][1]%=mod i range(1,n) range 1 n if l[i]=="1":
    dp[i][0]=dp[i-1][0]*2
    dp[i][1]=dp[i-1][1]*3+dp[i-1][0]
  else:
    dp[i][0]=dp[i-1][0]
    dp[i][1]=dp[i-1][1]*3
   l[i]=="1" l[i] l i "1" dp[i][0]=dp[i-1][0]*2 dp[i][0] [i] dp i 0 dp[i-1][0]*2 dp[i-1][0] [i-1] dp i-1 i 1 0 2 dp[i][1]=dp[i-1][1]*3+dp[i-1][0] dp[i][1] [i] dp i 1 dp[i-1][1]*3+dp[i-1][0] dp[i-1][1]*3 dp[i-1][1] [i-1] dp i-1 i 1 1 3 dp[i-1][0] [i-1] dp i-1 i 1 0 dp[i][0]=dp[i-1][0] dp[i][0] [i] dp i 0 dp[i-1][0] [i-1] dp i-1 i 1 0 dp[i][1]=dp[i-1][1]*3 dp[i][1] [i] dp i 1 dp[i-1][1]*3 dp[i-1][1] [i-1] dp i-1 i 1 1 3 dp[i][0]%=mod dp[i][0] [i] dp i 0 mod dp[i][1]%=mod dp[i][1] [i] dp i 1 mod print(sum(dp[n-1])%mod) print sum(dp[n-1])%mod sum(dp[n-1]) sum dp[n-1] dp n-1 n 1 mod mod=10**9+7 10**9+7 mod dp=[[0,0]for _ in range(n)] [[0,0]for _ in range(n)] dp l=input() input() l n=len(l) len(l) n
l=input()
n=len(l)
mod=10**9+7
dp=[[0,0]for _ in range(n)]
dp[0]=[2,1]
for i in range(1,n):
  if l[i]=="1":
    dp[i][0]=dp[i-1][0]*2
    dp[i][1]=dp[i-1][1]*3+dp[i-1][0]
  else:
    dp[i][0]=dp[i-1][0]
    dp[i][1]=dp[i-1][1]*3
  dp[i][0]%=mod
  dp[i][1]%=mod
print(sum(dp[n-1])%mod)