#include <cstdio> #include <iostream> #include <fstream> #include <vector> #include <list> #include <map> #include <set> #include <queue> #include <stack> #include <bitset> #include <algorithm> #include <sstream> #include <iomanip> #include <cmath> #include <cstdlib> #include <ctype.h> #include <cstring> #include <string> #include <ctime> #include <cassert> #include <utility> using namespace std; #define MAXN 1024 int N; pair<int, pair<int, int> > D[MAXN]; multiset<int, greater<int> > S; multiset<int, greater<int> > :: iterator it; int main() { // freopen("date.in", "r", stdin); // freopen("date.out","w", stdout); scanf("%d", &N); for(int i = 0; i < N; i++) { scanf("%d %d %d", &D[i].second.first, &D[i].second.second, &D[i].first); S.insert(D[i].second.first); } sort(D, D + N); long long ans = 0; for(int i = N - 1; i >= 0; i--) { int inner = D[i].second.second; int cost = D[i].first; int maxOut = 0; it = S.upper_bound(inner); if(it != S.end()) { maxOut = *it; S.erase(it); } ans += (inner - maxOut) * cost; } printf("%lld\n", ans); return 0; }