#include <bits/stdc++.h>
#pragma warning(disable : 4996)
using namespace std;
template <typename T, typename U>
pair<T, U> operator+(const pair<T, U> &l, const pair<T, U> &r) {
  return make_pair(l.first + r.first, l.second + r.second);
}
template <typename T, typename U>
pair<T, U> operator-(const pair<T, U> &l, const pair<T, U> &r) {
  return make_pair(l.first - r.first, l.second - r.second);
}
template <typename T, typename U>
pair<T, U> operator*(const pair<T, U> &l, const long long &r) {
  return make_pair(l.first * r, l.second * r);
}
template <typename T, typename U>
pair<T, U> operator*(const pair<T, U> &l, const pair<T, U> &r) {
  return make_pair(l.first * r.first, l.second * r.second);
}
template <typename T, typename U>
pair<T, U> operator%(const pair<T, U> &l, const int &r) {
  return make_pair(l.first % r, l.second % r);
}
long long n, m;
pair<long long, long long> a[6000];
long long ccw(pair<long long, long long> x, pair<long long, long long> y,
              pair<long long, long long> z) {
  return (y.first - x.first) * (z.second - x.second) -
         (z.first - x.first) * (y.second - x.second);
}
int main() {
  int i, j, k, l;
  cin >> n >> m;
  for (i = 0; i < n; i++) scanf("%lld%lld", &a[i].first, &a[i].second);
  sort(a, a + n);
  sort(a + 1, a + n,
       [&](pair<long long, long long> x, pair<long long, long long> y) {
         if (ccw(a[0], x, y) == 0)
           return x < y;
         else
           return ccw(a[0], x, y) > 0;
       });
  vector<pair<long long, long long> > hull;
  hull.push_back(a[0]);
  for (i = 1; i < n; i++) {
    while (hull.size() >= 2 &&
           ccw(hull[hull.size() - 2], hull[hull.size() - 1], a[i]) <= 0)
      hull.pop_back();
    hull.push_back(a[i]);
  }
  for (i = 0; i * 2 < hull.size(); i++) hull.push_back(hull[i]);
  long long ma = 0;
  pair<long long, long long> ax, ay, az;
  int u = hull.size() / 2;
  for (i = 0; i < u; i++) {
    int now = i + 1;
    for (j = i + 1; j < i + u; j++) {
      for (; now < i + u; now++) {
        if (now == i + u - 1 || ccw(hull[i], hull[j], hull[now]) >
                                    ccw(hull[i], hull[j], hull[now + 1]))
          break;
      }
      if (ma < ccw(hull[i], hull[j], hull[now])) {
        ma = ccw(hull[i], hull[j], hull[now]);
        ax = hull[i], ay = hull[j], az = hull[now];
      }
    }
  }
  pair<long long, long long> dx, dy, dz;
  dz = ax + ay - az;
  dy = ax + az - ay;
  dx = ay + az - ax;
  printf("%lld %lld\n%lld %lld\n%lld %lld", dx.first, dx.second, dy.first,
         dy.second, dz.first, dz.second);
  return 0;
}
