#include <bits/stdc++.h>
using namespace std;
int n, k;
pair<int, int> p[200010];
pair<int, int> operator+(const pair<int, int> &a, const pair<int, int> &b) {
  return make_pair(a.first + b.first, a.second + b.second);
}
set<pair<int, int> > st;
void check(int l, int r) {
  int cnt = 0;
  pair<int, int> pt = p[l] + p[r];
  l = 1, r = n;
  while (l <= r) {
    if (pt == p[l] + p[r])
      l++, r--;
    else if (pt < p[l] + p[r])
      cnt++, r--;
    else
      cnt++, l++;
  }
  if (cnt <= k) st.insert(pt);
}
int main() {
  scanf("%d%d", &n, &k);
  if (n <= k) {
    puts("-1");
    return 0;
  }
  for (int i = 1; i <= n; i++) scanf("%d%d", &p[i].first, &p[i].second);
  sort(p + 1, p + n + 1);
  for (int i = 1; i <= k + 1; i++) {
    for (int j = n - k; j <= n; j++) {
      check(i, j);
    }
  }
  printf("%d\n", st.size());
  for (auto &x : st) printf("%.7lf %.7lf\n", x.first / 2.0, x.second / 2.0);
  return 0;
}
