#include<bits/stdc++.h>
using namespace std;
struct node
{
long long ridemode,price,time;
}arrive[100010];
long long n,cnt=0,ans=0,tim[100010],j;
bool flag[100010];
int main()
{
memset(flag,0,sizeof(0));
cin>>n;
for(long long i=1;i<=n;i++) cin>>arrive[i].ridemode>>arrive[i].price>>arrive[i].time;
for(long long i=1;i<=n;i++)
{
cnt=0;
if(arrive[i].ridemode==0)
{
tim[i]=arrive[i].time;
ans+=arrive[i].price;
}
else
{
for(long long j=1;j<=i;j++)
if(arrive[i].time-tim[j]<=45&&(arrive[j].price>=arrive[i].price)&&flag[tim[j]]==0))
{
cnt=1;
flag[tim[j]]=1;
break;
}
if(cnt==0)
ans+=arrive[i].price;
}
}
cout<<ans;
return 0;
}