%:pragma GCC optimize(2)
#include <bits/stdc++.h>
using namespace std;

const int N = 2E6 + 5;
const int mod = 1E9 + 7;

int Add(int a, int b) {
	return (a += b) >= mod ? a - mod : a;
}
int Sub(int a, int b) {
	return (a -= b) < 0 ? a + mod : a;
}
int Mul(int a, int b) {
	return (long long) a * b % mod;
}
int Pow(int a, int b) {
	int r = 1;
	for(; b; b >>= 1, a = Mul(a, a))
		if(b & 1) r = Mul(r, a);
	return r;
}

int ans;
int a1, b1, c1, d1, e1, f1;
int a2, b2, c2, d2, e2, f2;
int fac[N], ifac[N];

void pre(int n = N - 1) {
	fac[0] = 1;
	for(int i = 1; i <= n; ++i)
		fac[i] = Mul(fac[i - 1], i);
	ifac[n] = Pow(fac[n], mod - 2);
	for(int i = n - 1; ~i; --i)
		ifac[i] = Mul(ifac[i + 1], i + 1);
}
int C(int n, int m) {
	if(n < m || m < 0) return 0;
	return Mul(fac[n], Mul(ifac[m], ifac[n - m]));
}
int F(int a, int b) {
	if(a < 0 || b < 0) return 0;
	return Sub(C(a + b + 2, a + 1), 1);
}
int G(int a, int b, int c, int d) { // (c, d) -> matrix (0, 0) - (a, b)
	if(c < a || d < b) return 0;
	// cout << a << ' ' << b << ' ' << c << ' ' << d << '\n';
	// cout << F(c, d) << ' ' << F(c - a - 1, d - b - 1) << ' ' << F(c - a - 1, d) << ' ' << F(c, d - b - 1) << '\n';
	return Sub(Add(F(c, d), F(c - a - 1, d - b - 1) % mod), Add(F(c - a - 1, d), F(c, d - b - 1)));
}

int main() {
	cin >> a1 >> b1 >> c1 >> d1 >> e1 >> f1;
	cin >> a2 >> b2 >> c2 >> d2 >> e2 >> f2;
	pre();
	//cout << G(1, 1, 2, 2) << '\n';
	for(int i = c1; i <= d1; ++i) {
		// (i, d2)
		ans = Add(ans, Mul(i + d2 + 1, Mul(G(b1 - a1, b2 - a2, i - a1, d2 - a2), G(f1 - e1, f2 - e2, f1 - i, f2 - (d2 + 1)))));
		// (i, c2)
		ans = Sub(ans, Mul(i + c2, Mul(G(b1 - a1, b2 - a2, i - a1, (c2 - 1) - a2), G(f1 - e1, f2 - e2, f1 - i, f2 - c2))));
	}
	for(int j = c2; j <= d2; ++j) {
		// (d1, j)
		ans = Add(ans, Mul(d1 + j + 1, Mul(G(b1 - a1, b2 - a2, d1 - a1, j - a2), G(f1 - e1, f2 - e2, f1 - (d1 + 1), f2 - j))));
		// (c1, j)
		ans = Sub(ans, Mul(c1 + j, Mul(G(b1 - a1, b2 - a2, (c1 - 1) - a1, j - a2), G(f1 - e1, f2 - e2, f1 - c1, f2 - j))));
	}
	
	cout << ans << '\n';
	return 0;
}
