#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int N = 1e6 + 100;
typedef long long ll;
int n;
ll x[N], p[N], c[N], s[N];
int q[N], l, r;
ll f[N];
int main () {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin >> n;
for (int i = 1; i <= n; i ++ ) {
cin >> x[i] >> p[i] >> c[i];
}
for (int i = 1; i <= n; i ++ ) s[i] = s[i - 1] + p[i] * x[i], p[i] += p[i - 1];
for (int i = 1; i <= n; i ++ ) {
while (l < r && f[q[l+1]]+s[q[l+1]] - f[q[l]]-s[q[l]] <= x[i] * (p[q[l+1]] - p[q[l]])) l ++ ;
f[i] = f[q[l]] + c[i] - (s[i] - s[q[l]]) + x[i] * (p[i] - p[q[l]]);
while (l < r && (double)(f[i]+s[i] - f[q[r]]-s[q[r]]) * (p[q[r]] - p[q[r-1]]) <= (double)(f[q[r]]+s[q[r]] - f[q[r-1]]-s[q[r-1]]) * (p[i] - p[q[r]])) r --;
q[ ++ r] = i;
}
long long ans = 0x3f3f3f3f3f3f3f3f;
for (int i = n; i >= 1; i -- ) {
ans = min (ans, f[n]);
if (p[i]) break;
}
cout << ans <<endl;
return 0;
}