#include <bits/stdc++.h>
using namespace std;
const long long maxn = 5010;
long long n, s, top;
struct POINT {
  double x, y;
} point[maxn], res[maxn];
double xmul(POINT a, POINT b, POINT c) {
  return ((b.x - a.x) * (c.y - a.y) - (c.x - a.x) * (b.y - a.y));
}
bool cmp(POINT a, POINT b) {
  if (a.y != b.y) return a.y < b.y;
  return a.x < b.x;
}
POINT a, b, c;
double ans = -1e100;
void garham() {
  long long i, len, k = 0;
  top = 1;
  sort(point, point + n, cmp);
  if (n == 0) {
    top = 0;
    return;
  }
  res[0] = point[0];
  if (n == 1) {
    top = 1;
    return;
  }
  res[1] = point[1];
  if (n == 2) {
    top = 2;
    return;
  }
  res[2] = point[2];
  for (i = 2; i < n; ++i) {
    while (top && xmul(point[i], res[top], res[top - 1]) >= 0) top--;
    res[++top] = point[i];
  }
  len = top;
  res[++top] = point[n - 2];
  for (i = n - 3; i >= 0; i--) {
    while (top != len && xmul(point[i], res[top], res[top - 1]) >= 0) top--;
    res[++top] = point[i];
  }
}
int main() {
  scanf("%lld%lld", &n, &s);
  for (long long i = 0; i < n; ++i) {
    scanf("%lf%lf", &point[i].x, &point[i].y);
  }
  garham();
  long long p, q, r;
  q = 2, p = 1;
  long long ansa, ansb, ansc;
  ansa = 0, ansb = 1, ansc = 2;
  for (long long i = 0; i <= top; ++i) {
    while (fabs(xmul(res[q + 1], res[i], res[p])) >
           fabs(xmul(res[q], res[i], res[p])))
      q = (q + 1) % top;
    if (fabs(xmul(res[q], res[i], res[p])) > ans) {
      ans = fabs(xmul(res[q], res[i], res[p]));
      ansa = i;
      ansb = q;
      ansc = p;
    }
    while (fabs(xmul(res[p + 1], res[i], res[q])) >
           fabs(xmul(res[p], res[i], res[q])))
      p = (p + 1) % top;
    if (fabs(xmul(res[p], res[i], res[q])) > ans) {
      ans = fabs(xmul(res[p], res[i], res[q]));
      ansa = i;
      ansb = q;
      ansc = p;
    }
  }
  a.x = res[ansa].x - res[ansc].x + res[ansb].x;
  a.y = res[ansa].y - res[ansc].y + res[ansb].y;
  b.x = res[ansa].x - res[ansb].x + res[ansc].x;
  b.y = res[ansa].y - res[ansb].y + res[ansc].y;
  c.x = res[ansc].x - res[ansa].x + res[ansb].x;
  c.y = res[ansc].y - res[ansa].y + res[ansb].y;
  printf("%.0f %.0f\n", a.x, a.y);
  printf("%.0f %.0f\n", b.x, b.y);
  printf("%.0f %.0f\n", c.x, c.y);
  return 0;
}
