#include <bits/stdc++.h>
using namespace std;
double const pi = 3.14159265358979;
long long const MOD = 1000000007;
long long const LLINF = 1000000000000000000;
int const INF = 1000000000;
int const MAXN = 200000;
double a[MAXN], b[MAXN], c[MAXN];
double dist(double x1, double y1, double x2, double y2) {
  return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
int main() {
  int x1, y1, x2, y2, x, y, n;
  scanf("%d%d%d%d%d%d", &x1, &y1, &x2, &y2, &x, &y);
  scanf("%d", &n);
  double sum_c = 0;
  int a_min1 = -1, a_min2 = -1, b_min1 = -1, b_min2 = -1, xx, yy;
  for (int i = 0; i < (int)(n); i++) {
    scanf("%d%d", &xx, &yy);
    a[i] = dist(x1, y1, xx, yy) + dist(xx, yy, x, y);
    b[i] = dist(x2, y2, xx, yy) + dist(xx, yy, x, y);
    c[i] = 2 * dist(xx, yy, x, y);
    sum_c += c[i];
    if (a_min1 == -1 || a[i] - c[i] < a[a_min1] - c[a_min1]) {
      a_min2 = a_min1;
      a_min1 = i;
    } else {
      if (a_min2 == -1 || a[i] - c[i] < a[a_min2] - c[a_min2]) {
        a_min2 = i;
      }
    }
    if (b_min1 == -1 || b[i] - c[i] < b[b_min1] - c[b_min1]) {
      b_min2 = b_min1;
      b_min1 = i;
    } else {
      if (b_min2 == -1 || b[i] - c[i] < b[b_min2] - c[b_min2]) {
        b_min2 = i;
      }
    }
  }
  double res = sum_c + min(a[a_min1] - c[a_min1], b[b_min1] - c[b_min1]);
  if (n > 1) {
    if (a_min1 != b_min1) {
      res = min(res, sum_c + a[a_min1] - c[a_min1] + b[b_min1] - c[b_min1]);
    } else {
      res = min(res, sum_c + a[a_min1] - c[a_min1] + b[b_min2] - c[b_min2]);
      res = min(res, sum_c + a[a_min2] - c[a_min2] + b[b_min1] - c[b_min1]);
    }
  }
  printf("%.10f\n", res);
  return 0;
}
