#include<cstdio>
#include<cstring>
#include<algorithm>
typedef unsigned int ui;
typedef long long ll;
const ui P=1000000007;
ui F[4040][4040];
ui C[8080],I[8080];
int T[200200][2];
#define f(i,j) F[i+2020][j+2020]
int main(){
	int N;scanf("%d",&N);
	for(int i=0;i<N;++i)
		scanf("%d%d",T[i],T[i]+1),++f(T[i][0],T[i][1]);
	C[0]=1,I[8000]=624583629;
	for(ll i=1;i<=8000;++i)C[i]=C[i-1]*i%P;
	for(ll i=8000;i;--i)I[i-1]=I[i]*i%P;
	#define calc(a,b) (C[(a)]*ll(I[(b)])%P*I[(a)-(b)]%P)
	for(int i=2000;i>=-2000;--i)
		for(int j=2000;j>=-2000;--j)
			f(i,j)=(f(i,j)+f(i+1,j)+f(i,j+1))%P;
	ui ans=0;
	for(int i=0;i<N;++i)
		ans=(ans+f(-T[i][0],-T[i][1])+P-calc((T[i][0]+T[i][1])*2,T[i][0]*2))%P;
	printf("%lld\n",ans*500000004ll%P);
	return 0;
}