#include<iostream>
using namespace std;
struct P
{
long long x,y;
};
int main()
{
long long n,x1,y1,x2,y2;
cin>>n>>x1>>y1>>x2>>y2;
P minn={0x3f3f3f3f,0x3f3f3f3f};
P maxn={0,0};
while(n--)
{
long long x,y;
cin>>x>>y;
minn.x=min(minn.x,x);
minn.y=min(minn.y,y);
maxn.x=max(maxn.x,x);
maxn.y=max(maxn.y,y);
}
cout<<((abs(minn.x-x1)+1)*(abs(minn.y-y2)+1)*(abs(maxn.x-x2)+1)*(abs(maxn.y-y1)+1))%((long)1e9+7);
return 0;
}
在#11出来之前都是好好的