#include <bits/stdc++.h>
using namespace std;
struct timer {
  time_t start;
  timer() { start = clock(); }
  ~timer() {
    cerr << 1. * (clock() - start) / CLOCKS_PER_SEC << " secs" << endl;
  }
};
int n, k;
pair<int, int> p[200010];
int main() {
  cin.tie(0);
  ios_base::sync_with_stdio(0);
  cin >> n >> k;
  for (int i = 0; i < (n); i++) {
    cin >> p[i].first >> p[i].second;
    p[i].first *= 2, p[i].second *= 2;
  }
  if (k >= n) {
    cout << -1;
    return 0;
  }
  sort(p, p + n);
  set<pair<int, int> > ans;
  for (int i = 0; i < (k + 1); i++)
    for (int j = n - k - 1; j < (n); j++) {
      int x = (p[i].first + p[j].first) / 2,
          y = (p[i].second + p[j].second) / 2;
      if (ans.count(make_pair(x, y))) continue;
      int need = 0;
      for (int l = 0; l < (n); l++) {
        int nx = 2 * x - p[l].first, ny = 2 * y - p[l].second;
        if (!binary_search(p, p + n, make_pair(nx, ny))) {
          need++;
          if (need > k) break;
        }
      }
      if (need <= k) ans.insert(make_pair(x, y));
    }
  cout << ((int)(ans).size()) << endl;
  for (__typeof((ans).begin()) it = (ans).begin(); it != (ans).end(); it++)
    cout << setprecision(16) << (*it).first / 2. << " " << (*it).second / 2.
         << endl;
}
