#include<iostream>
#include<vector>
using namespace std;
const int maxn=1e5+10;
struct z{
int tool;
int price;
int times;
}a[maxn];
int n,ans=0,which;
vector<z>q;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].tool>>a[i].price>>a[i].times;
}
for(int i=1;i<=n;i++){
which=0;
if(a[i].tool==0){
q.push_back(a[i]);
ans+=a[i].price;
}
if(a[i].tool==1){
if(!q.empty()){
int len=q.size();
while(!q.empty()){
if(which==len){ans+=a[i].price;break;}
if((a[i].times-q[which].times)>45){q.erase(q.begin()+which);continue;}
if(q[which].price>=a[i].price){q.erase(q.begin()+which);break;}
which++;
}
}
else {
ans+=a[i].price;
}
}
}
cout<<ans;
return 0;
}