#include <bits/stdc++.h>
#define int long long
using namespace std;
int n, m, a[200010], b[200010], c[200010], ai, bi, ci, bid, cid;
int d[200010], e[200010], ei, ans;
bool cmp(int x, int y) {
return x > y;
}
signed main() {
scanf("%lld%lld", &n, &m);
for(int i = 1; i <= n; i++) {
int t;
scanf("%lld", &t);
if(t == 0) scanf("%lld", &a[++ai]);
if(t == 1) scanf("%lld", &b[++bi]);
if(t == 2) scanf("%lld", &c[++ci]);
}
sort(a+1, a+ai+1, cmp), sort(b+1, b+bi+1), sort(c+1, c+ci+1, cmp);
bid = bi+1;
for(int i = 1; i <= n; i++) d[i] = d[i-1]+a[i];
for(int i = 1; i <= n; i++) {
if(i > bi) e[i] = e[i-1];
else if(!ei) {
if(cid < ci) ei += c[++cid];
e[i] = e[i-1];
}
else ei--, e[i] = e[i-1]+b[--bid];
}
for(int i = 0; i <= m; i++) ans = max(ans, d[i]+e[m-i]);
printf("%lld", ans);
return 0;
}