#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <deque>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <vector>
using namespace std;
typedef long long LL;
const int maxn = 1e2 + 7;
const int INF = 0x7fffffff;
const double PI = acos(-1);
struct Point { //点类
string name;
double x, y;
int i; //编号
};
vector<Point> p;
double d[maxn][maxn]; //距离矩阵
int n;
double sum=0; //当前最短路径长度
double dist(Point a, Point b) { //计算两点距离
return sqrt((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y));
}
double get_sum(vector<Point> a){ //返回路径长度
double sum=0;
for(int i=1;i<a.siz