#include <bits/stdc++.h>
using namespace std;
const int N = 2507;
int n;
pair<long double, long double> odl[N];
long double dp[N][N][2];
inline long double kwa(double x) { return x * x; }
inline long double dist(int a, int b) {
  return sqrt(kwa(odl[a].first - odl[b].first) +
              kwa(odl[a].second - odl[b].second));
}
inline int who(int u) {
  if (u > n) return u - n;
  if (u < 1) return u + n;
  return u;
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) scanf("%Lf %Lf", &odl[i].first, &odl[i].second);
  for (int l = 1; l < n; ++l)
    for (int j = 1; j <= n; ++j) {
      int i = j;
      j = who(i + l);
      dp[i][j][0] = max(dp[who(i + 1)][j][0] + dist(i, who(i + 1)),
                        dp[who(i + 1)][j][1] + dist(i, j));
      dp[i][j][1] = max(dp[i][who(j - 1)][1] + dist(who(j - 1), j),
                        dp[i][who(j - 1)][0] + dist(i, j));
      j = i;
    }
  long double res = max(dp[1][n][0], dp[1][n][1]);
  for (int i = 2; i <= n; ++i)
    res = max(res, max(dp[i][i - 1][0], dp[i][i - 1][1]));
  printf("%.10Lf\n", res);
  return 0;
}
