#include <bits/stdc++.h>
using namespace std;
pair<int, int> p[200000];
set<pair<int, int> > v, w, a;
int n, k, i, j, f, t;
int main() {
  scanf("%d%d", &n, &k);
  if (n <= k) return puts("-1"), 0;
  for (i = 0; i < n; ++i) {
    scanf("%d%d", &p[i].first, &p[i].second);
    w.insert(p[i]);
  }
  sort(p, p + n);
  for (i = 0; i <= k; ++i)
    for (j = 0; j <= k; ++j) {
      pair<int, int> u(p[i].first + p[n - j - 1].first,
                       p[i].second + p[n - j - 1].second);
      if (v.insert(u).second) {
        t = 0;
        for (f = 0; f < n && t <= k; ++f)
          if (!w.count(make_pair(u.first - p[f].first, u.second - p[f].second)))
            ++t;
        if (t <= k) a.insert(u);
      }
    }
  printf("%d\n", a.size());
  for (set<pair<int, int> >::iterator i = a.begin(); i != a.end(); ++i)
    printf("%.1lf %.1lf\n", i->first * 0.5, i->second * 0.5);
  return 0;
}
