#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define pb push_back
#define mp make_pair
#define mod 1000000007
int dp1[100001]={0};
int dp2[100001]={0};
int step[100001]={0};
int is[100001]={0};
void f(int m){
    for(int i=0;i<m;i++){
        dp1[i]=dp2[i];
        dp2[i]=0;
    }

}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n,m;
cin>>n>>m;

dp1[0]=1;
for(int i=1;i<=m;i++){
   is[i]=mod;
}
for(int i=1;i<=n;i++){
    int t,y;
    ll x;
    cin>>t>>x>>y;

    if(t==1||(t==2&&(x/100000+1==1))){
       if(x%100000==0){
        x=x/100000;
       }
       else x=x/100000+1;


       for(int j=0;j<=m;j++)step[j]=0;

       for(int j=0;j<=m;j++){

            dp2[j]=dp1[j];

            if(dp2[j]==1){

                continue;
            }

            if((dp2[j]==0)&&((j-x)>=0)&&(dp2[j-x]==1)&&(step[j-x]<y)){
                step[j]=step[j-x]+1;
                dp2[j]=1;
                is[j]=min(is[j],i);
            }
            else dp2[j]=0;
       }
       f(m);
    }

    if(t==2){
          for(int j=0;j<=m;j++){
            dp2[j]=dp1[j];
            if(dp1[j]==1)step[j]=0;
            else step[j]=mod;
          }

for(int j=0;j<=m;j++){
            ll z=j;
            int b=1;
            if(dp2[j]==0)continue;
            z=(j * x + 99999) / 100000;
            b--;
            while(z<=m&&b>=0&&step[j]<y){
                is[z]=min(is[z],i);
                dp2[z]=1;
                step[z]=min(step[j]+1,step[z]);
                b--;
            }

    }
 f(m);
}


}
for(int i=1;i<=m;i++){
    if(is[i]==mod){
        cout<<-1<<' ';
    }
    else cout<<is[i]<<' ';
}cout<<'\n';
return 0;}
