#include <bits/stdc++.h>
using namespace std;
set<pair<int, int> > s;
pair<int, int> a[200010];
int n, k, ans;
pair<int, int> operator+(pair<int, int> a, pair<int, int> b) {
  return make_pair(a.first + b.first, a.second + b.second);
}
pair<int, int> operator-(pair<int, int> a, pair<int, int> b) {
  return make_pair(a.first - b.first, a.second - b.second);
}
int main() {
  scanf("%d%d", &n, &k);
  if (n <= k) return puts("-1"), 0;
  for (int i = 0; i < n; i++) scanf("%d%d", &a[i].first, &a[i].second);
  sort(a, a + n);
  for (int i = 0; i <= k; i++)
    for (int j = n - k - 1; j < n; j++) {
      pair<int, int> u = a[i] + a[j];
      int ct = 0, l = 0, r = n - 1;
      for (; l <= r && ct <= k;) {
        pair<int, int> p = a[l] + a[r];
        if (p == u)
          ++l, --r;
        else {
          ct++;
          p < u ? l++ : r--;
        }
      }
      if (ct <= k) s.insert(u);
    }
  cout << s.size() << endl;
  for (set<pair<int, int> >::iterator it = s.begin(); it != s.end(); it++)
    printf("%.1lf %.1lf\n", it->first * 0.5, it->second * 0.5);
  return 0;
}
