#include<iostream>
#include<queue>
using namespace std;
int n,p,t,tra,ans,z,cs;
int main(){
queue<int> yh;
queue<int> price;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d %d %d",&tra,&p,&t);
if(tra==0){
yh.push(t);
price.push(p);
z++;//优惠券总数
ans+=p;
}
else{
while(yh.empty()!=1&&t-yh.front()>45){
yh.pop();
price.pop();
z--;
}//超时优惠券出列
if(yh.empty()==1) ans+=p;
else if(p<=price.front()){
yh.pop();
price.pop();
}//时间价格都满足
else if(p>price.front()){
while(z>0){
if(price.front()>=p&&cs!=1){//找到优惠券就停止搜索
yh.pop();
price.pop();
z--;
cs=1;
}
else{
yh.push(yh.front());
price.push(price.front());
yh.pop();
price.pop();
}
z--;
}//循环队列,找到优惠券后仅重排队列
if(cs==0) ans+=p;
}
}
}
printf("%d",ans);
}
o.O?