#include <bits/stdc++.h>
using namespace std;
const long long inf = 1e18;
const int N = 2e5 + 5;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cout << fixed << setprecision(1);
  int n;
  cin >> n;
  int k;
  cin >> k;
  vector<pair<int, int> > p(n);
  for (pair<int, int> &a : p) cin >> a.first >> a.second;
  if (n <= k) {
    cout << "-1";
    return 0;
  }
  sort(p.begin(), p.end());
  vector<pair<int, int> > candidate;
  vector<pair<int, int> > res;
  for (int i = 0; i <= k; ++i)
    for (int j = 0; j <= k; ++j)
      candidate.emplace_back(pair<int, int>(p[i].first + p[n - j - 1].first,
                                            p[i].second + p[n - j - 1].second));
  sort(candidate.begin(), candidate.end());
  candidate.erase(unique(candidate.begin(), candidate.end()), candidate.end());
  for (pair<int, int> Try : candidate) {
    int cnt = 0;
    for (int i = 0, j = n - 1; i < n; ++i) {
      pair<int, int> s;
      s.first = Try.first - p[i].first;
      s.second = Try.second - p[i].second;
      while (j >= 0 && p[j] > s) --j;
      if (j < 0 || p[j] < s) cnt++;
    }
    if (cnt <= k) res.emplace_back(Try);
  }
  cout << res.size() << "\n";
  for (pair<int, int> a : res) {
    cout << 0.5 * a.first << " ";
    cout << 0.5 * a.second << "\n";
  }
}
