#include <bits/stdc++.h>
using namespace std;
pair<int, int> p[5010];
int n;
inline long long area(pair<int, int> A, pair<int, int> B, pair<int, int> C) {
  return abs((long long)(B.first - A.first) * (C.second - A.second) -
             (long long)(B.second - A.second) * (C.first - A.first));
}
void input() {
  int ss;
  scanf("%d%d", &n, &ss);
  for (int i = (1), _b = (n); i <= _b; i++)
    scanf("%d%d", &p[i].first, &p[i].second);
}
void init() {
  sort(p + 1, p + 1 + n);
  unique(p + 1, p + 1 + n);
}
void solve() {
  int a = 1, b = 2, c = 3;
  long long s = area(p[a], p[b], p[c]);
  while (1) {
    bool ch = false;
    for (int i = (1), _b = (n); i <= _b; i++) {
      long long ns = area(p[a], p[b], p[i]);
      if (ns > s) s = ns, c = i, ch = true;
    }
    for (int i = (1), _b = (n); i <= _b; i++) {
      long long ns = area(p[a], p[c], p[i]);
      if (ns > s) s = ns, b = i, ch = true;
    }
    for (int i = (1), _b = (n); i <= _b; i++) {
      long long ns = area(p[b], p[c], p[i]);
      if (ns > s) s = ns, a = i, ch = true;
    }
    if (!ch) break;
  }
  printf("%d %d\n", p[b].first + p[c].first - p[a].first,
         p[b].second + p[c].second - p[a].second);
  printf("%d %d\n", p[b].first + p[a].first - p[c].first,
         p[b].second + p[a].second - p[c].second);
  printf("%d %d\n", p[a].first + p[c].first - p[b].first,
         p[a].second + p[c].second - p[b].second);
}
void output() {}
int main() {
  input();
  init();
  solve();
  output();
  return 0;
}
