#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 100;
pair<int, int> p[maxn];
set<pair<int, int> > res;
int n, k;
int main() {
  scanf("%d %d", &n, &k);
  for (int i = 1; i <= n; ++i) {
    int a, b;
    scanf("%d %d", &a, &b);
    p[i] = make_pair(a, b);
  }
  sort(p + 1, p + 1 + n);
  if (n <= k) {
    puts("-1");
    return 0;
  }
  for (int i = 1; i <= k + 1; ++i)
    for (int j = 1; j <= k + 1; ++j) {
      pair<int, int> tar = make_pair(p[i].first + p[n - j + 1].first,
                                     p[i].second + p[n - j + 1].second);
      int L = 1, R = n;
      int cant = 0;
      while (L <= R) {
        pair<int, int> now =
            make_pair(p[L].first + p[R].first, p[L].second + p[R].second);
        if (now == tar) {
          L++;
          R--;
        } else {
          cant++;
          if (now < tar)
            L++;
          else
            R--;
        }
      }
      if (cant <= k) {
        res.insert(tar);
      }
    }
  printf("%d\n", res.size());
  for (set<pair<int, int> >::iterator it = res.begin(); it != res.end(); it++)
    printf("%.10f %.10f\n", (double)it->first / 2, (double)it->second / 2);
  return 0;
}
