// –Í‹[’n‹æ—\‘I2010 I. Operator #include #include using namespace std; bool simulate(const vector &L, const vector< pair > &vp, int T, int M){ int N = vp.size(); vector lest(T+1, 0); vector ok(vp.size(), false); for(int i=0;i T) return false; cnt--; ok[j] = true; lest[i]--; lest[i+L[j]]++; } if(lest[i] == 0) break; } lest[i+1] += lest[i]; } return cnt == 0; } int main(){ int N, T; while(cin >> N >> T, N){ vector L(N); vector< pair > vp(N); for(int i=0;i> L[i] >> vp[i].first >> vp[i].second; vp[i].second += vp[i].first; } for(int i=1;i<=N;i++){ if(simulate(L, vp, T, i)){ cout << i << endl; break; } } } }