func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = 200005;   int n, k;   pair<int, int> a[N];   vector<pair<int, int> > Center;   bool inf;   bool Check(pair<int, int> center) {     int cnt = 0, l = 1, r = n;     pair<int, int> t;     while (l <= r && cnt <= k) {       t = make_pair(center.first - a[l].first, center.second - a[l].second);       if (t == a[r]) {         l++;         r--;       } else {         cnt++;         if (t < a[r])           r--;         else           l++;       }     }     return (cnt <= k);   }   void Solve() {     if (k >= n) {       inf = true;       return;     }     sort(a + 1, a + n + 1);     pair<int, int> center;     int res = 0;     for (int i = 1; i <= k + 1; i++)       for (int j = n - k; j <= n; j++)         if (i <= j) {           center = make_pair(a[i].first + a[j].first, a[i].second + a[j].second);           if (Check(center)) Center.push_back(center);         }   }   int main() {     cin >> n >> k;     for (int i = 1; i <= n; i++) scanf( %d %d , &a[i].first, &a[i].second);     Solve();     if (inf) {       cout << -1 << endl;       return 0;     }     int res = 0;     sort(Center.begin(), Center.end());     for (int i = 0; i < Center.size(); i++)       if (i == 0 || Center[i] != Center[i - 1]) res++;     cout << res << endl;     int cnt = 0;     for (int i = 0; i < Center.size(); i++)       if (i == 0 || Center[i] != Center[i - 1]) {         printf( %.3lf %.3lf n , (Center[i].first + 0.0) / 2.0,                (Center[i].second + 0.0) / 2.0);       }     return 0;   }   