s = input()
n = len(s)
MOD = 10**9+7

ans = 1
p3 = 1
for i in range(-1, -n-1, -1):
    if s[i] == '1':
        ans = ((ans * 2) % MOD + p3) % MOD
    p3 = (p3 * 3) % MOD
print(ans) s = input() s input() input n = len(s) n len(s) len s MOD = 10**9+7 MOD 10**9+7 10**9 10 9 7 ans = 1 ans 1 p3 = 1 p3 1 for i in range(-1, -n-1, -1):
    if s[i] == '1':
        ans = ((ans * 2) % MOD + p3) % MOD
    p3 = (p3 * 3) % MOD i range(-1, -n-1, -1) range -1 -n-1 -n n 1 -1 if s[i] == '1':
        ans = ((ans * 2) % MOD + p3) % MOD
     s[i] == '1' s[i] s i '1' ans = ((ans * 2) % MOD + p3) % MOD ans ((ans * 2) % MOD + p3) % MOD (ans * 2) % MOD + p3 (ans * 2) % MOD ans * 2 ans 2 MOD p3 MOD p3 = (p3 * 3) % MOD p3 (p3 * 3) % MOD p3 * 3 p3 3 MOD print(ans) print ans s = input() input() s p3 = 1 1 p3 n = len(s) len(s) n MOD = 10**9+7 10**9+7 MOD ans = ((ans * 2) % MOD + p3) % MOD ((ans * 2) % MOD + p3) % MOD ans p3 = (p3 * 3) % MOD (p3 * 3) % MOD p3 ans = 1 1 ans
s = input()
n = len(s)
MOD = 10**9+7

ans = 1
p3 = 1
for i in range(-1, -n-1, -1):
    if s[i] == '1':
        ans = ((ans * 2) % MOD + p3) % MOD
    p3 = (p3 * 3) % MOD
print(ans)