func_code_string: #include <bits/stdc++.h>   using namespace std;   pair<int, int> a[210000], b[2100000];   vector<pair<int, int> > ans;   int main() {     int N, M, i, j, k;     scanf( %d%d , &N, &M);     if (N <= M) {       puts( -1 );       return 0;     }     for (i = 0; i < N; i++) scanf( %d%d , &a[i].first, &a[i].second);     sort(a, a + N);     for (i = 0; i <= M; i++)       for (j = 0; i + j <= M; j++) {         int l = i, r = N - 1 - j;         int first = a[l].first + a[r].first, second = a[l].second + a[r].second;         bool flag = 1;         for (k = l; k <= r; k++)           b[k] = make_pair(first - a[k].first, second - a[k].second);         reverse(b + l, b + r + 1);         int p = l, q = l, cnt = 0;         while (p <= r && q <= r) {           if (a[p] < b[q])             ++p;           else if (a[p] > b[q])             ++q;           else {             ++cnt;             ++p;             ++q;           }         }         if (r - l + 1 - cnt + i + j <= M) ans.push_back(make_pair(first, second));       }     sort(ans.begin(), ans.end());     ans.resize(unique(ans.begin(), ans.end()) - ans.begin());     cout << ans.size() << endl;     for (i = 0; i < ans.size(); i++)       printf( %.12f %.12f n , ans[i].first / 2.0, ans[i].second / 2.0);   }   