#include<bits/stdc++.h>
using namespace std;
#define int long long
#define TEST int t; cin>>t; while(t--)
#define pb push_back
#define pii pair <int, int>
#define vi vector <int>
#define ff first
#define ss second
#define sz(v) (int)v.size()
#define vpii vector <pair <int, int>>
#define vvi vector <vector <int> >
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define endl "\n"
#define MAX 1e18
#define MIN INT_MIN
#define mod 1000000007
typedef long long ll;
int dp[1005][1005][2];
int getAns(int a[], int s[], char c[], int used, int n, int m) {
if (n == 0 || m == 0)return 0;
if (dp[n][m][used] != -1)return dp[n][m][used];
if (used && s[n - 1] <= m && c[n - 1] == 'S') {
return dp[n][m][1] = max(a[n - 1] + getAns(a, s, c, 1, n - 1, m - s[n - 1]), getAns(a, s, c, 1, n - 1, m));
}
if (!used && s[n - 1] <= m && c[n - 1] == 'S') {
return dp[n][m][used] = max(a[n - 1] + getAns(a, s, c, 1, n - 1, m - (s[n - 1] / 2)), max(a[n - 1] + getAns(a, s, c, 0, n - 1, m - (s[n - 1])), getAns(a, s, c, 0, n - 1, m)));
}
else {
return dp[n][m][used] = getAns(a, s, c, used, n - 1, m);
}
return dp[n][m][used];
}
void solve() {
int n;
cin >> n;
int m; cin >> m;
char c[n]; int s[n], a[n];
for (int i = 0; i < n; i++) {
string st; cin >> st;
cin >> c[i] >> s[i] >> a[i];
}
memset(dp, -1, sizeof(dp));
cout << getAns(a, s, c, 0, n, m) << endl;
}
signed main()
{
// #ifndef ONLINE_JUDGE
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
// #endif
mt19937_64 rnd(chrono::system_clock::now().time_since_epoch().count());
ios_base :: sync_with_stdio(0);
cin.tie(0);
//seive();
//TEST
solve();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZyBsb25nCiNkZWZpbmUgVEVTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0OyBjaW4+PnQ7IHdoaWxlKHQtLSkKI2RlZmluZSBwYiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaF9iYWNrCiNkZWZpbmUgcGlpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhaXIgPGludCwgaW50PgojZGVmaW5lIHZpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZWN0b3IgPGludD4KI2RlZmluZSBmZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QKI2RlZmluZSBzcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kCiNkZWZpbmUgc3oodikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQpdi5zaXplKCkKI2RlZmluZSB2cGlpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjdG9yIDxwYWlyIDxpbnQsIGludD4+CiNkZWZpbmUgdnZpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlY3RvciA8dmVjdG9yIDxpbnQ+ID4KI2RlZmluZSBhbGwoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHgpLmJlZ2luKCksICh4KS5lbmQoKQojZGVmaW5lIHJhbGwoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeCkucmJlZ2luKCksICh4KS5yZW5kKCkKI2RlZmluZSBlbmRsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlxuIgojZGVmaW5lIE1BWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxZTE4CiNkZWZpbmUgTUlOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOVF9NSU4KI2RlZmluZSBtb2QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwMDAwMDAwNwp0eXBlZGVmIGxvbmcgbG9uZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsbDsKIAppbnQgZHBbMTAwNV1bMTAwNV1bMl07CmludCBnZXRBbnMoaW50IGFbXSwgaW50IHNbXSwgY2hhciBjW10sIGludCB1c2VkLCBpbnQgbiwgaW50IG0pIHsKICBpZiAobiA9PSAwIHx8IG0gPT0gMClyZXR1cm4gMDsKIAogIGlmIChkcFtuXVttXVt1c2VkXSAhPSAtMSlyZXR1cm4gZHBbbl1bbV1bdXNlZF07CiAgaWYgKHVzZWQgJiYgc1tuIC0gMV0gPD0gbSAmJiBjW24gLSAxXSA9PSAnUycpIHsKICAgIHJldHVybiBkcFtuXVttXVsxXSA9IG1heChhW24gLSAxXSArIGdldEFucyhhLCBzLCBjLCAxLCBuIC0gMSwgbSAtIHNbbiAtIDFdKSwgZ2V0QW5zKGEsIHMsIGMsIDEsIG4gLSAxLCBtKSk7CiAgfQogIGlmICghdXNlZCAmJiBzW24gLSAxXSA8PSBtICYmIGNbbiAtIDFdID09ICdTJykgewogICAgcmV0dXJuIGRwW25dW21dW3VzZWRdID0gbWF4KGFbbiAtIDFdICsgZ2V0QW5zKGEsIHMsIGMsIDEsIG4gLSAxLCBtIC0gKHNbbiAtIDFdIC8gMikpLCBtYXgoYVtuIC0gMV0gKyBnZXRBbnMoYSwgcywgYywgMCwgbiAtIDEsIG0gLSAoc1tuIC0gMV0pKSwgZ2V0QW5zKGEsIHMsIGMsIDAsIG4gLSAxLCBtKSkpOwogIH0KICBlbHNlIHsKICAgIHJldHVybiBkcFtuXVttXVt1c2VkXSA9IGdldEFucyhhLCBzLCBjLCB1c2VkLCBuIC0gMSwgbSk7CiAgfQogIHJldHVybiBkcFtuXVttXVt1c2VkXTsKfQogCnZvaWQgc29sdmUoKSB7CiAgaW50IG47CiAgY2luID4+IG47CiAgaW50IG07IGNpbiA+PiBtOwogIGNoYXIgY1tuXTsgaW50IHNbbl0sIGFbbl07CiAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgIHN0cmluZyBzdDsgY2luID4+IHN0OwogICAgY2luID4+IGNbaV0gPj4gc1tpXSA+PiBhW2ldOwogIH0KIAogIG1lbXNldChkcCwgLTEsIHNpemVvZihkcCkpOwogIGNvdXQgPDwgZ2V0QW5zKGEsIHMsIGMsIDAsIG4sIG0pIDw8IGVuZGw7CiAKfQpzaWduZWQgbWFpbigpCnsKLy8gI2lmbmRlZiBPTkxJTkVfSlVER0UKLy8gICBmcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKLy8gICBmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwovLyAjZW5kaWYKICBtdDE5OTM3XzY0IHJuZChjaHJvbm86OnN5c3RlbV9jbG9jazo6bm93KCkudGltZV9zaW5jZV9lcG9jaCgpLmNvdW50KCkpOwogIGlvc19iYXNlIDo6IHN5bmNfd2l0aF9zdGRpbygwKTsKICBjaW4udGllKDApOwogIC8vc2VpdmUoKTsKIAogIC8vVEVTVAogIHNvbHZlKCk7CiAKfQ==