#include<iostream>
#define int long long
using namespace std;
struct list{
int front,nexxt,price,time,use;
}l[100005];
signed main(){
// freopen("bus.in","r",stdin);
// freopen("bus.out","w",stdout);
int n,ans=0,head=1,tail=0;
cin>>n;
for(int i=1;i<=n;i++){
int flag,price,time;
cin>>flag>>price>>time;
if(flag==0){
ans+=price;
l[tail+1].front=tail;
l[tail].nexxt=tail+1;
tail++;
l[tail].price=price;
l[tail].time=time;
l[tail].use=0;
}
if(flag==1){
int bj=0;
for(int j=head;j;j=l[j].nexxt){
if(l[j].price>=price&&time-l[j].time<=45&&!l[j].use){
bj=1;
l[j].use=1;
l[l[j].front].nexxt=l[j].nexxt;
l[l[j].nexxt].front=l[j].front;
break;
}
}
if(bj==0)ans+=price;
}
while(time-l[head].time>45&&l[head].time>0)head++;
}
cout<<ans;
return 0;
}
用链表做的