#include //#include using namespace std; //using namespace atcoder; using ld = long double; //using mint = modint998244353; int main(){ cin.tie(nullptr); ios_base::sync_with_stdio(false); /* dp(S, i, j) = 訪れた店の集合がSで現在iにいてj枚ピザをもっている状態での最小値 */ int N, K, M; ld d; cin >> N >> K; vector x(N+1), y(N+1); for (int i=0; i> x[i] >> y[i]; auto dist=[&](int i, int j)->ld{ return sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j])); }; M = 1<(K+1, 1e18))); dp[0][N][K] = 0; for (int i=0; i>l & 1) continue; if (k>=1) dp[i|(1<