#include <bits/stdc++.h>
using namespace std;
int n, z[10000], m, k, v1, v2, v3;
long long a1, a2, b1, b2, xx, yy, t1, t2, x[10000], y[10000], xxx[3], yyy[3];
double s, ss, sss;
pair<long long, long long> a[10000];
bool b[10000];
double sqr(double a) { return a * a; }
double area(int v1, int v2, int v3) {
  double l1, l2, l3, p;
  l1 = sqrt(sqr(a[v1].first - a[v2].first) + sqr(a[v1].second - a[v2].second));
  l2 = sqrt(sqr(a[v3].first - a[v2].first) + sqr(a[v3].second - a[v2].second));
  l3 = sqrt(sqr(a[v1].first - a[v3].first) + sqr(a[v1].second - a[v3].second));
  p = (l1 + l2 + l3) / 2;
  return sqrt(p) * sqrt(p - l1) * sqrt(p - l2) * sqrt(p - l3);
}
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n >> s;
  for (int i = 0; i < n; i++) {
    cin >> x[i] >> y[i];
    a[i] = make_pair(x[i], y[i]);
  }
  sort(a, a + n);
  memset(b, true, sizeof b);
  z[1] = 0;
  z[2] = 1;
  m = 2;
  b[1] = false;
  for (int i = 2; i < n; i++) {
    while (m >= 2) {
      a1 = a[z[m - 1]].first - a[z[m]].first;
      b1 = a[z[m - 1]].second - a[z[m]].second;
      a2 = a[i].first - a[z[m]].first;
      b2 = a[i].second - a[z[m]].second;
      t1 = a1 * b2 - a2 * b1;
      if (t1 < 0) {
        b[z[m]] = true;
        m--;
      } else
        break;
    }
    b[i] = false;
    z[++m] = i;
  }
  for (int i = n - 1; i >= 0; i--)
    if (b[i]) {
      while (m >= 2) {
        a1 = a[z[m - 1]].first - a[z[m]].first;
        b1 = a[z[m - 1]].second - a[z[m]].second;
        a2 = a[i].first - a[z[m]].first;
        b2 = a[i].second - a[z[m]].second;
        t1 = a1 * b2 - a2 * b1;
        if (t1 < 0) {
          b[z[m]] = true;
          m--;
        } else
          break;
      }
      b[i] = false;
      z[++m] = i;
    }
  s = 0;
  for (int i = 1; i < m; i++) {
    k = i + 2;
    for (int j = i + 1; j < m; j++) {
      sss = 0;
      for (k = k; k < m; k++) {
        ss = area(z[i], z[j], z[k]);
        if (ss < sss)
          break;
        else {
          sss = ss;
          v1 = i;
          v2 = j;
          v3 = k;
        }
      }
      k--;
      if (sss > s) {
        s = sss;
        xxx[0] = a[z[v1]].first;
        yyy[0] = a[z[v1]].second;
        xxx[1] = a[z[v2]].first;
        yyy[1] = a[z[v2]].second;
        xxx[2] = a[z[v3]].first;
        yyy[2] = a[z[v3]].second;
      }
    }
  }
  t1 = xxx[0] - xxx[1];
  t2 = yyy[0] - yyy[1];
  x[0] = xxx[2] + t1;
  y[0] = yyy[2] + t2;
  x[1] = xxx[2] - t1;
  y[1] = yyy[2] - t2;
  t1 = xxx[1] - xxx[2];
  t2 = yyy[1] - yyy[2];
  x[2] = xxx[0] + t1;
  y[2] = yyy[0] + t2;
  for (int i = 0; i < 3; i++) cout << x[i] << " " << y[i] << endl;
}
