#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N=2e5+10;
const double pi=acos(-1);
int sx,sy,tx,ty;
int n,x[N],y[N];
struct work{int x,y;}p[N];
ll ans=0,cnt=0;
int ret=0;
bool cmp1(work a,work b){return a.x<b.x;}
int d[N],len=0,cc;
int lis()
{
	for (int i=1;i<=cnt;i++)
	if (!len||p[i].y>d[len]) d[++len]=p[i].y;
	else 
	{
		cc=lower_bound(d+1,d+len+1,p[i].y)-d;
		d[cc]=p[i].y;
	}
	return len;
}
int main()
{
	scanf("%d%d%d%d",&sx,&sy,&tx,&ty);
	ans=1ll*100*(abs(sx-tx)+abs(sy-ty));
	scanf("%d",&n);
	for (int i=1;i<=n;i++)
		scanf("%d%d",&x[i],&y[i]);
	if (tx<sx) swap(sx,tx),swap(sy,ty);
	if (ty<sy)
	{
		for (int i=1;i<=n;i++) y[i]=1e8-y[i];
		ty=1e8-ty;sy=1e8-sy;
	}
	for (int i=1;i<=n;i++)
		if (x[i]>=sx&&x[i]<=tx&&y[i]>=sy&&y[i]<=ty) p[++cnt]=work{x[i],y[i]};
	sort(p+1,p+cnt+1,cmp1);
	ret=lis();
	printf("%.13f",ans-1.0*ret*(20-pi*5)+((ret==min(tx-sx+1,ty-sy+1))?pi*5.0:0));
}