#include <stdio.h>
#define P 1000000007
#define M 2048

int a[202020],b[202020];
int mat[2*M][2*M];

int binom[2*M][2*M];

int main(){
	for(int i=0;i<2*M;i++)for(int j=0;j<2*M;j++)binom[i][j]=(i==0||j==0?1:(binom[i-1][j]+binom[i][j-1])%P);
	
	int n;
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		scanf("%d%d",&a[i],&b[i]);
		mat[-a[i]+M][-b[i]+M]++;
	}
	
	/*
	for(int i=-3;i<=3;i++){
		for(int j=-3;j<=3;j++)printf("%d ",mat[i+M][j+M]);
		puts("");
	}
	puts("");
	*/
	for(int i=1;i<2*M;i++){
		for(int j=1;j<2*M;j++){
			mat[i][j]+=mat[i-1][j];mat[i][j]%=P;
			mat[i][j]+=mat[i][j-1];mat[i][j]%=P;
		}
	}
	
	/*
	for(int i=-3;i<=3;i++){
		for(int j=-3;j<=3;j++)printf("%d ",mat[i+M][j+M]);
		puts("");
	}
	*/
	int ans=0;
	for(int i=0;i<n;i++){
		ans=(ans+mat[a[i]+M][b[i]+M])%P;
	}
	for(int i=0;i<n;i++){
		ans=(ans-binom[2*a[i]][2*b[i]])%P;
		ans=(ans+P)%P;
	}
	
	ans=(ans*(long long)((P+1)/2))%P;
	printf("%d\n",ans);
}