#include <bits/stdc++.h>
using namespace std;
int n, x[5200], y[5200];
long double ans, f[2][5010], g[2][5010];
double dis(int i, int j) {
  return sqrt(pow((long double)x[i] - x[j], 2) +
              pow((long double)y[i] - y[j], 2));
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%d%d", &x[i], &y[i]);
    x[i + n] = x[i];
    y[i + n] = y[i];
  }
  for (int l = 1; l < n; l++) {
    for (int i = 0; i + l < n * 2; i++) {
      int j = i + l;
      f[1][i] = max(dis(i, i + 1) + f[0][i + 1], dis(i, j) + g[0][i + 1]);
      g[1][i] = max(dis(i, j) + f[0][i], dis(j - 1, j) + g[0][i]);
      if (l == n - 1) ans = max(ans, max(f[1][i], g[1][i]));
    }
    swap(f[0], f[1]);
    swap(g[0], g[1]);
  }
  printf("%.20lf\n", (double)ans);
}
