#include <cstdio>
using namespace std;
#define maxn 100005
struct node {
int k, price, t;
} a[maxn];
int n;
long long ans = 0;
int main() {
scanf("%d", &n);
for(int i = 1; i <= n; i ++)
scanf("%d %d %d", &a[i].k, &a[i].price, &a[i].t);
for(int i = 1; i <= n; i ++) {
int L = 1, R = i, mid = (L + R) / 2;
while(L < R) {
mid = (L + R) / 2;
if(a[mid].t > a[i].t)
R = mid;
else
L = mid + 1;
}
int flag = false;
for(int j = 1; j < L; j ++) {
if(a[i].k == 1 && a[i].price <= a[j].price && a[j].k == 0 && a[i].t - a[j].t <= 45) {
flag = true, a[j].k = 1;
break;
}
}
if(!flag)
ans += a[i].price;
}
printf("%d\n", ans);
return 0;
}