#include <bits/stdc++.h>
using namespace std;
pair<int, int> mid(pair<int, int> a, pair<int, int> b) {
  return pair<int, int>{a.first + b.first >> 1, a.second + b.second >> 1};
}
void solve(long long n, long long k) {
  vector<pair<int, int> > p(n);
  vector<pair<int, int> > ans;
  for (auto &a : p) cin >> a.first >> a.second;
  sort(p.begin(), p.end());
  for (auto &a : p) {
    a.first *= 2;
    a.second *= 2;
  }
  if (k >= n) {
    cout << -1 << endl;
    return;
  }
  for (int i = 0; i <= k; i++) {
    for (int j = n - k - 1 + i; j < n; j++) {
      pair<int, int> m = mid(p[i], p[j]);
      int l = 0, r = n - 1, cnt = 0;
      while (p[l] < m || p[r] > m) {
        pair<int, int> temp = mid(p[l], p[r]);
        if (temp == m) {
          while (mid(p[l], p[r]) == m) r--;
          while (mid(p[l], p[r + 1]) == m) l++;
        } else {
          if (temp < m)
            l++;
          else
            r--;
          cnt++;
        }
      }
      if (cnt <= k) ans.push_back(m);
    }
  }
  sort(ans.begin(), ans.end());
  ans.resize(unique(ans.begin(), ans.end()) - ans.begin());
  cout << ans.size() << endl;
  for (auto &a : ans) {
    cout << setprecision(10) << (double)a.first / 2. << " "
         << (double)a.second / 2. << endl;
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  long long n, k;
  cin >> n >> k;
  solve(n, k);
  return 0;
}
