#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define MAXN 1024 int N; pair > D[MAXN]; multiset > S; multiset > :: 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; }