#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <set>
#include <vector>
#include <map>
#include <cmath>
#include <algorithm>
#include <memory.h>
#include <string>
#include <sstream>
#include <cstdlib>
#include <ctime>
#include <cassert>

#include <math.h>

#define FF first
#define SS second
#define MP make_pair
#define PB push_back

#define MOD 1000000007
#define INF 2000000000

#define PI 3.141592653

using namespace std;

typedef long long LL;
typedef pair<int,int> PII;

const int MAXN = 1010;
double x[MAXN], y[MAXN]; int a[MAXN];

const int MAGIC = 20010;

int n; double m;

bool cmp(int i, int j) { return y[i] - m * x[i] < y[j] - m * x[j]; }

vector<int> indices;

int main() {
    cin >> n; int atot = 0;

    for (int i = 0; i < n; i++) {
        cin >> x[i] >> y[i] >> a[i];
        atot += a[i];
    }

    for (int i = 0; i < n; i++) indices.PB(i);

    srand((unsigned) time(NULL));

    int res = atot;

    for (int i = 0; i < MAGIC; i++) {
        double A = ((double)rand()/(double)RAND_MAX);
        A = (A - 0.5) * PI;
        m = tan(A);

        sort(indices.begin(), indices.end(), cmp);

        int acurr = 0;

        for (int i = 0; i < n; i++) {
            acurr += a[indices[i]];
            res = min(res, abs(atot - 2 * acurr));
        }
    }

    printf("%d\n", res);
    return 0; 
}