#include<bits/stdc++.h>
using namespace std;
int n,transport[100003],price[100003],t[100003];
int cost;
vector <int> kipu_t;
vector <int> kipu_price;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>transport[i]>>price[i]>>t[i];
if(transport[i]!=1){
kipu_t.push_back(t[i]);
kipu_price.push_back(price[i]);
}
cost+=price[i];
}
for(int i=1;i<=n;i++){
if(transport[i]==1){
for(int j=0;j<kipu_t.size();j++){
if(t[i]-kipu_t[j]>45){//过期
kipu_t.erase(kipu_t.begin()+j);
kipu_price.erase(kipu_price.begin()+j);
}
else if(kipu_price[j]>=price[i]){//当前最早票可用
cost-=price[i];
kipu_t.erase(kipu_t.begin()+j);
kipu_price.erase(kipu_price.begin()+j);
// cout<<"*"<<i<<endl;
break;
}
// else{
// int x=kipu_t.front();
// kipu_t.pop();
// kipu_t.push(x);
// x=kipu_price.front();
// kipu_price.pop();
// kipu_price.push(x);
// }
}
// for(int j=1;j+1<=kipu_t.size();j++){
// int x=kipu_t.front();
// kipu_t.pop();
// kipu_t.push(x);
// x=kipu_price.front();
// kipu_price.pop();
// kipu_price.push(x);
// }
}
}
cout<<cost;
return 0;
}