#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
// Optimize I/O performance
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n;
if (!(cin >> n)) return 0;
vector<int> s(n), a(n), i1(n);
for (int i = 0; i < n; i++) {
cin >> s[i] >> a[i] >> i1[i];
}
long long r = -1;
bool v = false;
if (n <= 300) {
for (int i = 0; i <= n - 3; i++) {
for (int j = i + 1; j <= n - 2; j++) {
for (int k = j + 1; k <= n - 1; k++) {
int b1 = -1, b2 = -1, b3 = -1;
// Logic for item i
if (s[i] > s[j] && s[i] > s[k]) b1 = 0;
if (a[i] > a[j] && a[i] > a[k]) b1 = 1;
if (i1[i] > i1[j] && i1[i] > i1[k]) b1 = 2;
// Logic for item j
if (s[j] > s[i] && s[j] > s[k]) b2 = 0;
if (a[j] > a[i] && a[j] > a[k]) b2 = 1;
if (i1[j] > i1[i] && i1[j] > i1[k]) b2 = 2;
// Logic for item k
if (s[k] > s[i] && s[k] > s[j]) b3 = 0;
if (a[k] > a[i] && a[k] > a[j]) b3 = 1;
if (i1[k] > i1[i] && i1[k] > i1[j]) b3 = 2;
// Check if each item is a unique leader in one of the three categories
if (b1 != -1 && b2 != -1 && b3 != -1 &&
b1 != b2 && b2 != b3 && b1 != b3) {
long long ms = max({s[i], s[j], s[k]});
long long ma = max({a[i], a[j], a[k]});
long long mi = max({i1[i], i1[j], i1[k]});
if (!v || (ms + ma + mi > r)) {
r = ms + ma + mi;
v = true;
}
}
}
}
}
} else {
// Greedy approach for larger N
int m1_idx = 0, m2_idx = 0, m3_idx = 0;
for (int i = 0; i < n; i++) {
if (s[i] > s[m1_idx]) m1_idx = i;
if (a[i] > a[m2_idx]) m2_idx = i;
if (i1[i] > i1[m3_idx]) m3_idx = i;
}
if (m1_idx != m2_idx && m2_idx != m3_idx && m1_idx != m3_idx) {
long long ms = max({s[m1_idx], s[m2_idx], s[m3_idx]});
long long ma = max({a[m1_idx], a[m2_idx], a[m3_idx]});
long long mi = max({i1[m1_idx], i1[m2_idx], i1[m3_idx]});
r = ms + ma + mi;
}
}
cout << r << endl;
return 0;
}