#include<bits/stdc++.h>
#define int __int128
using namespace std;
inline int R(){int x=0;char ch=getchar();while(ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}return x;}
inline void W(int x){char num[300];int cnt=0;if(x==0){putchar('0');return;}while(x>0){num[cnt++]=x%10+'0';x/=10;}while(cnt>0){putchar(num[--cnt]);}}
#define R R()
#define for(i,x) for(int i=1;i<=x;i++)
#define qm q.front()
struct Node{
int f,y,t;
}a[1005];
queue<Node> q;
signed main(){
int n=R,ans=0;
for(i,n){
a[i].f=R;a[i].y=R;a[i].t=R;
if(!a[i].f){
ans+=a[i].y;
q.push(a[i]);continue;
}else{
if(!q.size()){
ans+=a[i].y;
continue;
}
bool flag=1;
for(j,q.size()){
if(flag){
if(qm.t-a[i].t<=45&&qm.y>=a[i].y){
q.pop();flag=0;
continue;
}
}
q.push(qm);
q.pop();
}
if(flag){
ans+=a[i].y;
}
}
}
W(ans);
return 0;
}
码风奇丑