#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e9;
int n,ans=0;
struct node
{
int way,price,time;
}a[100005];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i].way>>a[i].price>>a[i].time; //输入
ans+=a[i].price; //记录所有价钱
}
for(int i=1;i<=n;i++)
{
if(a[i].way==1) //判断是否为公交车
{
int x=0;
for(int j=i-1;a[i].time-a[j].time<=45&&j>=1;j--)
{
if(a[i].price<=a[j].price&&a[j].way==0)
{
x=j; //记录最早可以进行优惠的优惠券
}
}
if(x!=0)
ans-=a[i].price; //进行优惠
a[x].time=-MAXN; //删去优惠,免重复
}
}
cout<<ans;
return 0;
}