#include <bits/stdc++.h>
using namespace std;
long long s;
int n;
vector<pair<long long, long long> > points;
bool check(pair<long long, long long> &a, pair<long long, long long> &b,
           pair<long long, long long> &c) {
  return (b.first - a.first) * (c.second - a.second) -
             (b.second - a.second) * (c.first - a.first) >=
         0LL;
}
vector<pair<long long, long long> > make_half() {
  vector<pair<long long, long long> > ans = {points[0], points[1]};
  for (int i = 2; i < n; i++) {
    int x = ans.size() - 1;
    while (x > 0 && check(ans[x - 1], ans[x], points[i])) ans.pop_back(), x--;
    ans.push_back(points[i]);
  }
  ans.pop_back();
  return ans;
}
vector<pair<long long, long long> > convex_hull() {
  sort(points.begin(), points.end());
  vector<pair<long long, long long> > ans = make_half();
  reverse(points.begin(), points.end());
  for (auto &x : make_half()) ans.push_back(x);
  return ans;
}
long long pole(pair<long long, long long> &a, pair<long long, long long> &b,
               pair<long long, long long> &c) {
  long long res = (b.first - a.first) * (c.second - a.second) -
                  (b.second - a.second) * (c.first - a.first);
  return max(res, -res);
}
vector<pair<long long, long long> > v;
int main() {
  scanf("%d%lld", &n, &s);
  for (int i = 0; i < n; i++) {
    long long a, b;
    scanf("%lld%lld", &a, &b);
    points.push_back({a, b});
  }
  v = convex_hull();
  int m = v.size();
  int bi = 0, bj = 1, bk = 2;
  for (int i = 0; i < m - 2; i++) {
    int k = 0;
    for (int j = i + 1; j < m - 1; j++) {
      k = max(k, j + 1);
      while (k + 1 < m && pole(v[i], v[j], v[k]) <= pole(v[i], v[j], v[k + 1]))
        k++;
      if (pole(v[i], v[j], v[k]) > pole(v[bi], v[bj], v[bk])) {
        bi = i;
        bj = j;
        bk = k;
      }
    }
  }
  printf("%lld %lld\n", v[bi].first + v[bj].first - v[bk].first,
         v[bi].second + v[bj].second - v[bk].second);
  printf("%lld %lld\n", v[bi].first + v[bk].first - v[bj].first,
         v[bi].second + v[bk].second - v[bj].second);
  printf("%lld %lld\n", v[bk].first + v[bj].first - v[bi].first,
         v[bk].second + v[bj].second - v[bi].second);
  return 0;
}
