#include <bits/stdc++.h>
void quickSort(int valor[], int valor1[], int valor2[], int valor3[],
               int esquerda, int direita) {
  int i, j, x, y;
  i = esquerda;
  j = direita;
  x = valor[(esquerda + direita) / 2];
  while (i <= j) {
    while (valor[i] < x && i < direita) {
      i++;
    }
    while (valor[j] > x && j > esquerda) {
      j--;
    }
    if (i <= j) {
      y = valor[i];
      valor[i] = valor[j];
      valor[j] = y;
      y = valor1[i];
      valor1[i] = valor1[j];
      valor1[j] = y;
      y = valor2[i];
      valor2[i] = valor2[j];
      valor2[j] = y;
      y = valor3[i];
      valor3[i] = valor3[j];
      valor3[j] = y;
      i++;
      j--;
    }
  }
  if (j > esquerda) {
    quickSort(valor, valor1, valor2, valor3, esquerda, j);
  }
  if (i < direita) {
    quickSort(valor, valor1, valor2, valor3, i, direita);
  }
}
using namespace std;
int n, x0, t[2005], h[2005], m[2005], t2[2005];
int main() {
  cin >> n >> x0;
  for (int i = 1; i <= n; i++) {
    cin >> t[i] >> h[i] >> m[i];
    t2[i] = t[i];
  }
  quickSort(m, t, h, t2, 1, n);
  int i = n;
  int x = x0;
  int j = 0;
  int max, stop, verificacao = 0;
  while (1) {
    stop = j;
    if (j % 2 == 0 && t[i] == 0 && h[i] <= x) {
      j++;
      x += m[i];
      t[i] = 2;
      i = n;
    }
    if (j % 2 == 1 && t[i] == 1 && h[i] <= x) {
      j++;
      x += m[i];
      t[i] = 2;
      i = n;
    }
    if (stop == j) {
      verificacao++;
      i--;
    } else
      verificacao = 0;
    if (verificacao > n) break;
    if (i == 0) i = n;
  }
  max = j;
  i = n;
  x = x0;
  j = 1;
  verificacao = 0;
  while (1) {
    stop = j;
    if (j % 2 == 0 && t2[i] == 0 && h[i] <= x) {
      j++;
      x += m[i];
      t2[i] = 2;
      i = n;
    }
    if (j % 2 == 1 && t2[i] == 1 && h[i] <= x) {
      j++;
      x += m[i];
      t2[i] = 2;
      i = n;
    }
    if (stop == j) {
      verificacao++;
      i--;
    } else
      verificacao = 0;
    if (verificacao > n) break;
    if (i == 0) i = n;
  }
  j--;
  if (j > max) max = j;
  cout << max;
}
