#include #include #include using namespace std; class k{public:int a,b,c,d;public:void set(int,int,int);void put(k);}; void k::set(int e,int f,int g){a=e;b=f;d=g;c=b*d;}void k::put(k h){c=c-d*(h.a)+h.c;} int u(const void* a, const void* b){k* p1=(k*)a;k* p2=(k*)b;return p1->c-p2->c;} int main(){int a,b,c,i,j,n,m;k o,p,t[1000];stack q;stack r[1001];cin>>n; for(i=0;i>a>>b>>c;p.set(a,b,c);r[a].push(p);}for(i=1;i<=1000;i++){ while(r[i].empty()&&i<=1000)i++;if(i>1000)break;n=0;while(!r[i].empty()){r[i].top(); t[n]=r[i].top();r[i].pop();n++;}qsort(t,n,sizeof(k),u);for(j=0;j1000) break;while(!r[i].empty()){p=r[i].top();if(p.b>1){j=p.b-1;while(r[j].empty()&&j>1)j--; if(!r[j].empty()){o=r[j].top();r[j].pop();p.put(o);}}q.push(p);r[i].pop();}swap(q,r[i]); i++;}m=0;for(i=1;i<=1000;i++){while(!r[i].empty()){p=r[i].top();m+=p.c;r[i].pop();}}cout<