#include <bits/stdc++.h>
using namespace std;
const int Maxn = 100000;
const int M = 100000;
int n;
struct P {
  int x, y;
  P(int _x = 0, int _y = 0) { x = _x, y = _y; }
  friend P operator+(P p, P b) { return P(p.x + b.x, p.y + b.y); }
  friend P operator-(P p, P b) { return P(p.x - b.x, p.y - b.y); }
  friend long long operator/(P p, P b) {
    return 1ll * p.x * b.y - 1ll * p.y * b.x;
  }
  friend bool operator==(P p, P b) { return p.x == b.x && p.y == b.y; }
  long long len() { return 1ll * x * x + 1ll * y * y; }
} p[Maxn * 6 + 5];
P S;
bool cmp_1_less(P p, P b) {
  if (p.x == b.x) {
    return p.y < b.y;
  }
  return p.x < b.x;
}
bool cmp_2(P A, P B) {
  P _A = A - p[1], _B = B - p[1];
  if (_A / _B == 0) {
    return _A.len() < _B.len();
  }
  return _A / _B > 0;
}
int tot;
int st[Maxn * 6 + 5], tp;
void ConvexHull(int len) {
  sort(p + 2, p + 1 + len, cmp_2);
  st[++tp] = 1;
  for (int i = 2; i <= len; i++) {
    while (tp > 1 && (p[i] - p[st[tp]]) / (p[st[tp]] - p[st[tp - 1]]) >= 0)
      tp--;
    st[++tp] = i;
  }
  st[tp + 1] = st[1], st[tp + 2] = st[2];
}
double Calc(P _A, P _B, P _C) {
  P A = _B - _A, B = _C - _B, C = _C - _A;
  return sqrt(A.len()) * sqrt(B.len()) * sqrt(C.len()) / (abs(A / B));
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    int x, y, v;
    scanf("%d%d%d", &x, &y, &v);
    int up = y + v, dn = y - v, rt = x + v, lt = x - v;
    if (up <= M)
      p[++tot] = P(x, up);
    else {
      p[++tot] = P(min(x + up - M, M), M);
      p[++tot] = P(max(x - up + M, 0), M);
    }
    if (dn >= 0)
      p[++tot] = P(x, dn);
    else {
      p[++tot] = P(min(x - dn, M), 0);
      p[++tot] = P(max(x + dn, 0), 0);
    }
    if (rt <= M)
      p[++tot] = P(rt, y);
    else {
      p[++tot] = P(M, min(y + rt - M, M));
      p[++tot] = P(M, max(y - rt + M, 0));
    }
    if (lt >= 0)
      p[++tot] = P(lt, y);
    else {
      p[++tot] = P(0, min(y - lt, M));
      p[++tot] = P(0, max(y + lt, 0));
    }
  }
  sort(p + 1, p + 1 + tot, cmp_1_less);
  tot = unique(p + 1, p + 1 + tot) - p - 1;
  ConvexHull(tot);
  int pos;
  double ans = 0;
  for (int i = 1; i <= tp; i++) {
    double tmp = Calc(p[st[i]], p[st[i + 1]], p[st[i + 2]]);
    if (tmp > ans) ans = tmp, pos = i;
  }
  printf("%d %d\n", p[st[pos]].x, p[st[pos]].y);
  printf("%d %d\n", p[st[pos + 1]].x, p[st[pos + 1]].y);
  printf("%d %d\n", p[st[pos + 2]].x, p[st[pos + 2]].y);
  return 0;
}
