#include <bits/stdc++.h>
using namespace std;
set<pair<int, int> > vis, ans, a;
pair<int, int> arr[200005];
int main() {
  int n, k;
  scanf("%d%d", &n, &k);
  if (n <= k) {
    printf("-1\n");
    return 0;
  }
  for (int i = 0; i < n; i++) {
    scanf("%d%d", &arr[i].first, &arr[i].second);
    a.insert(arr[i]);
  }
  sort(arr, arr + n);
  for (int i = 0; i <= k; i++) {
    for (int j = n - k - 1; j < n; j++) {
      pair<int, int> p1(arr[i].first + arr[j].first,
                        arr[i].second + arr[j].second);
      if (vis.count(p1)) continue;
      vis.insert(p1);
      int cnt = 0;
      for (int x = 0; x < n && cnt <= k; x++) {
        cnt += !a.count(
            pair<int, int>(p1.first - arr[x].first, p1.second - arr[x].second));
      }
      if (cnt <= k) {
        ans.insert(p1);
      }
    }
  }
  printf("%d\n", (int)ans.size());
  set<pair<int, int> >::iterator it;
  for (it = ans.begin(); it != ans.end(); it++) {
    printf("%.1lf %.1lf\n", (double)(it->first) / 2, (double)(it->second) / 2);
  }
  return 0;
}
