r, c, R, C = [int(_) for _ in input().split()]

mod = 10**9 + 7



f = [1] * (3 * 10**6 + 10)

for i in range(1, 3 * 10**6 + 10):

    f[i] = i * f[i - 1] % mod

fi = {}





def inv(x):

    return pow(x, mod - 2, mod)





a1 = (C + 2) * f[c + 1] * f[C + R + 2] - (c + 1) * f[C + 2] * f[c + R + 1]

a1 *= inv(f[c + 1]) * inv(f[C + 2]) * inv(f[R + 1])

a2 = (C + 2) * f[c + 1] * f[C + r + 1] - (c + 1) * f[C + 2] * f[c + r]

a2 *= inv(f[c + 1]) * inv(f[C + 2]) * inv(f[r])

ans = a1 - a2

ans %= mod

print(ans)

r, c, R, C = [int(_) for _ in input().split()]

mod = 10**9 + 7



f = [1] * (2 * 10**6 + 10)

for i in range(1, 2 * 10**6 + 10):

    f[i] = i * f[i - 1] % mod

fi = {}





def inv(x):

    return pow(x, mod - 2, mod)





a1 = (C + 2) * f[c + 1] * f[C + R + 2] - (c + 1) * f[C + 2] * f[c + R + 1]

a1 *= inv(f[c + 1]) * inv(f[C + 2]) * inv(f[R + 1])

a2 = (C + 2) * f[c + 1] * f[C + r + 1] - (c + 1) * f[C + 2] * f[c + r]

a2 *= inv(f[c + 1]) * inv(f[C + 2]) * inv(f[r])

ans = a1 - a2

ans %= mod

print(ans)

r, c, R, C = [int(_) for _ in input().split()]
mod = 10**9 + 7
f = [1] * (3 * 10**6 + 10)
for i in range(1, 3 * 10**6 + 10):
    f[i] = i * f[i - 1] % mod
fi = {}


def inv(x):
    return pow(x, mod - 2, mod)


a1 = (C + 2) * f[c + 1] * f[C + R + 2] - (c + 1) * f[C + 2] * f[c + R + 1]
a1 *= inv(f[c + 1]) * inv(f[C + 2]) * inv(f[R + 1])
a2 = (C + 2) * f[c + 1] * f[C + r + 1] - (c + 1) * f[C + 2] * f[c + r]
a2 *= inv(f[c + 1]) * inv(f[C + 2]) * inv(f[r])
ans = a1 - a2
ans %= mod
print(ans)

r, c, R, C = [int(_) for _ in input().split()]
mod = 10**9 + 7
f = [1] * (2 * 10**6 + 10)
for i in range(1, 2 * 10**6 + 10):
    f[i] = i * f[i - 1] % mod
fi = {}


def inv(x):
    return pow(x, mod - 2, mod)


a1 = (C + 2) * f[c + 1] * f[C + R + 2] - (c + 1) * f[C + 2] * f[c + R + 1]
a1 *= inv(f[c + 1]) * inv(f[C + 2]) * inv(f[R + 1])
a2 = (C + 2) * f[c + 1] * f[C + r + 1] - (c + 1) * f[C + 2] * f[c + r]
a2 *= inv(f[c + 1]) * inv(f[C + 2]) * inv(f[r])
ans = a1 - a2
ans %= mod
print(ans)

-f = [1] * (3 * 10**6 + 10) -for i in range(1, 3 * 10**6 + 10): +f = [1] * (2 * 10**6 + 10) +for i in range(1, 2 * 10**6 + 10):