#include <bits/stdc++.h>
using namespace std;
pair<int, int> a[210000], b[2100000];
vector<pair<int, int> > ans;
int main() {
  int N, M, i, j, k;
  scanf("%d%d", &N, &M);
  if (N <= M) {
    puts("-1");
    return 0;
  }
  for (i = 0; i < N; i++) scanf("%d%d", &a[i].first, &a[i].second);
  sort(a, a + N);
  for (i = 0; i <= M; i++)
    for (j = 0; i + j <= M; j++) {
      int l = i, r = N - 1 - j;
      int first = a[l].first + a[r].first, second = a[l].second + a[r].second;
      bool flag = 1;
      for (k = l; k <= r; k++)
        b[k] = make_pair(first - a[k].first, second - a[k].second);
      reverse(b + l, b + r + 1);
      int p = l, q = l, cnt = 0;
      while (p <= r && q <= r) {
        if (a[p] < b[q])
          ++p;
        else if (a[p] > b[q])
          ++q;
        else {
          ++cnt;
          ++p;
          ++q;
        }
      }
      if (r - l + 1 - cnt + i + j <= M) ans.push_back(make_pair(first, second));
    }
  sort(ans.begin(), ans.end());
  ans.resize(unique(ans.begin(), ans.end()) - ans.begin());
  cout << ans.size() << endl;
  for (i = 0; i < ans.size(); i++)
    printf("%.12f %.12f\n", ans[i].first / 2.0, ans[i].second / 2.0);
}
