#include <bits/stdc++.h>

using namespace std;


#define MAXN 200001
const double pi = acos(-1);

int n;

int lis(vector<pair<int, int>> &p) {
  int n = p.size();
  int res = 0, dp[n+1];
  memset(dp, 0x3f, sizeof(dp));
  dp[0] = -1e9;
  for (int i = 0; i < n; ++i) {
    int v = lower_bound(dp, dp+n+1, p[i].second) - dp;
    res = max(res, v);
    dp[v] = min(dp[v], p[i].second); // vrijednost najmanjeg elementa koji daje niz duljine v
  }
  return res;
}

int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.precision(15);
  cout << fixed;
  vector <pair<int, int>> p;
  int x1, y1, x2, y2;
  cin >> x1 >> y1 >> x2 >> y2;
  if (x1>x2) {
    swap(x1, x2);
    swap(y1, y2);
  }
  int py = y1<y2 ? 1 : -1;
  y1 *= py;
  y2 *= py;
  cin >> n;
  for (int i = 0; i < n; ++i) {
    int x, y;
    cin >> x >> y;
    y *= py;
    if (x>=x1 && x<=x2 && y>=y1 && y<=y2) {
      p.push_back({x, y});
    }
  }
  sort(p.begin(), p.end());
  int res = lis(p);
  double ans = (double)100*((x2-x1)+(y2-y1)) - res*(20-5*pi);
  if (res==min(x2-x1, y2-y1)+1) ans += 5*pi;
  cout << ans << endl;
  return 0;
}
