
#include<bits/stdc++.h>
using namespace std;
long long x[5],y[5];
const int md=1e9+7;
long long work(long long n){
return (n+1)*(n)/2;
}
int main(){
int n;
scanf("%d%lld%lld%lld%lld",&n,&x[1],&y[1],&x[2],&y[2]);
x[3]=-1e9,y[3]=-1e9,x[4]=1e9,y[4]=1e9;
for(int i=1;i<=n;i++){
scanf("%lld%lld",&x[0],&y[0]);
x[3]=max(x[3],x[0]);
y[3]=max(y[3],y[0]);
x[4]=min(x[4],x[0]);
y[4]=min(y[4],y[0]);
}
if(x[1]<x[2]){
swap(x[1],x[2]);
}
if(y[1]<y[2]){
swap(y[1],y[2]);
}
if(n==0){
printf("%lld",work(x[1]-x[2])%md*work(y[1]-y[2])%md);
}
else{
printf("%lld",(work(x[1]-x[2]-x[3]+x[4]+1)-work(x[1]-x[3])-work(x[4]-x[2]))%md*(work(y[1]-y[2]-y[3]+y[4]+1)%md-work(y[1]-y[3])%md-work(y[4]-y[2]))%md);
}
return 0;
}