#include <bits/stdc++.h>
using namespace std;
struct Node{
int a,b,c;
}a[100005];
struct N{
int ti,mo;
};
long long ans;
int n;
queue<N> q;
int main(){
std::ios::sync_with_stdio(false);
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].a>>a[i].b>>a[i].c;
}
for(int i=1;i<=n;i++){
if(a[i].a == 1){ //公交车
if(!q.empty()){
N ts;
int tb;
tb=a[i].c;
bool flag1=1;
while(!q.empty()){
ts=q.front();
q.pop();
//bool flag=1;
if((a[i].b <= ts.mo) && (tb-ts.ti<=45)){
// cout<<"i-"<<i<<endl;
//flag=0; //用过了
flag1=0;
break;
}
//if(flag)q.push(ts); //如果没用过,再加回去
}
if(flag1) ans+=a[i].b;
}
}
else{//地铁
N ss;
ss={a[i].c,a[i].b};
q.push(ss);
ans+=a[i].b;
}
}
cout<<ans;
return 0;
}