#include <bits/stdc++.h>
using namespace std;
int n, convex[6002 * 2], r = 0, ba, bb, bc, nex[6002];
long long s;
pair<int, int> ans[7], p[6002];
long long ccw(pair<int, int> a, pair<int, int> b, pair<int, int> c) {
  return 1ll * (b.first - a.first) * (c.second - b.second) -
         1ll * (b.second - a.second) * (c.first - b.first);
}
void makeConvex() {
  sort(p + 1, p + n + 1);
  for (int i = 1; i <= n; i++) {
    while (r >= 2 && ccw(p[convex[r - 1]], p[convex[r]], p[i]) <= 0) r--;
    convex[++r] = i;
  }
  int top = r;
  for (int i = n - 1; i >= 1; i--) {
    while (r > top && ccw(p[convex[r - 1]], p[convex[r]], p[i]) <= 0) r--;
    convex[++r] = i;
  }
  r--;
}
long long area(int x, int y, int z) {
  long long re = 1ll * p[x].first * (p[y].second - p[z].second) +
                 1ll * p[y].first * (p[z].second - p[x].second) +
                 1ll * p[z].first * (p[x].second - p[y].second);
  return (re < 0 ? -re : re);
}
void findBest() {
  int a = convex[1];
  int b = convex[2];
  int c = convex[3];
  while (1) {
    while (1) {
      while (area(a, b, c) <= area(a, b, nex[c])) c = nex[c];
      if (area(a, b, c) <= area(a, nex[b], c))
        b = nex[b];
      else
        break;
    }
    if (area(a, b, c) > area(ba, bb, bc)) ba = a, bb = b, bc = c;
    a = nex[a];
    if (a == b) b = nex[b];
    if (b == c) c = nex[c];
    if (a == convex[1]) return;
  }
}
pair<pair<int, int>, pair<int, int> > getPar(int a, int b, int c) {
  int x = p[b].first - p[c].first;
  int y = p[b].second - p[c].second;
  return make_pair(make_pair(p[a].first - x, p[a].second - y),
                   make_pair(p[a].first + x, p[a].second + y));
}
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n >> s;
  for (int i = 1; i <= n; i++) cin >> p[i].first >> p[i].second;
  makeConvex();
  for (int i = 1; i <= r; i++) nex[convex[i]] = convex[i + 1];
  ba = convex[1];
  bb = convex[2];
  bc = convex[3];
  findBest();
  pair<pair<int, int>, pair<int, int> > A = getPar(ba, bb, bc);
  pair<pair<int, int>, pair<int, int> > B = getPar(bb, bc, ba);
  pair<pair<int, int>, pair<int, int> > C = getPar(bc, ba, bb);
  ans[1] = A.first;
  ans[2] = A.second;
  ans[3] = B.first;
  ans[4] = B.second;
  ans[5] = C.first;
  ans[6] = C.second;
  sort(ans + 1, ans + 7);
  cout << ans[1].first << ' ' << ans[1].second << '\n'
       << ans[3].first << ' ' << ans[3].second << '\n'
       << ans[5].first << ' ' << ans[5].second;
  return 0;
}
