#include <bits/stdc++.h>
using namespace std;
int main(){
	int X1, Y1, X2, Y2, N; 
	cin >> X1 >> Y1 >> X2 >> Y2 >> N; 
	double pi = acos(-1); 
	double cut = 20 - 5 * pi; 
	int INF = 1145141919; 
	if(X2 < X1){
		swap(X1, X2); swap(Y1, Y2); 
	}
	bool inv = false; 
	if(Y2 < Y1){
		Y1 *= -1; Y2 *= -1; inv = true; 
	}
	vector<pair<int, int>> F;
	for(int i = 0; i < N; i++){
		int x, y; cin >> x >> y; 
		if(inv) y *= -1; 
		if(x >= X1 && x <= X2 && y >= Y1 && y <= Y2){
			F.push_back(make_pair(x, y)); 
		}
	}
	sort(F.begin(), F.end()); 
	int LIS[200010] = {}; 
	fill(LIS, LIS + 200005, INF); 
	for(int i = 0; i < F.size(); i++){
		int a = lower_bound(LIS, LIS + 200005, F[i].second) - LIS; 
		LIS[a] = F[i].second; 
	}
	int fountain = lower_bound(LIS, LIS + 200005, INF) - LIS; 
	double ans = 100.0 * ((double) X2 - X1 + Y2 - Y1) - cut * fountain;
	if(fountain == min(X2 - X1, Y2 - Y1) + 1) ans += 5 * pi;
	cout.precision(20); 
	cout << ans << endl; 
}