rt
#include<bits/stdc++.h>
using namespace std;
#define MAXN 100050
#define MAXM 0
int n;
int trans[MAXN],price[MAXN],times[MAXN];
int ans;
int tail,head;
struct quan{
int p;//券内价格/时间
int t;
bool used;
}q[MAXN];
int main(){
cin>>n;
for(int i=1;i<=n;++i){
cin>>trans[i]>>price[i]>>times[i];
}
for(int i=1;i<=n;++i){
if(!trans[i]){//地铁
ans+=price[i];
//发券
tail++;
q[tail].p=price[i];
q[tail].t=times[i]+45;//失效时间
cout<<tail<<" "<<q[tail].p<<" "<<q[tail].t;
}else{
//处理失效券
while(head<tail&&q[head].t<times[i]){
head++;
}
//找有用券
bool found=0;
for(int j=head;j<=tail;++j){
if(q[j].p>=price[i]&&!q[j].used){
q[j].used=1;
found=1;
break;
}
}
//找不到付钱
if(!found){
ans+=price[i];
}
}
}
cout<<ans;
return 0;
}