#include <bits/stdc++.h>
using namespace std;
#define int long long
const int nax=1e5+100,mod=1e9+7,fx=1e5;
int n,m,res[nax],q[nax][3],deg[nax],par[nax],sz,k,a[nax],st[nax];
vector<int> g[nax];
void dfs(int s)
{
    if(res[s]!=-1)
    {
        a[s]++;
        if(sz>=k)
        a[st[sz-k]]--;
    }
    st[sz++]=s;
    for(auto it:g[s])
    dfs(it);
    sz--;
    if(sz>0)
    a[st[sz-1]]+=a[s];
}
int32_t main()
{
    int t=1;
    //cin>>t;
    while(t--)
    {
        sz=0;
        cin>>m>>n;
        for(int i=1;i<=m;i++)
        cin>>q[i][0]>>q[i][1]>>q[i][2];
        for(int i=0;i<=n;i++)
        res[i]=-1;
        res[0]=0;
        for(int x=1;x<=m;x++)
        {
            for(int i=0;i<=n;i++)
            {
                int z=i;
                if(q[x][0]==1)
                z=(z*fx+q[x][1]+fx-1)/fx;
                else
                z=(z*q[x][1]+fx-1)/fx;
                z=min(z,n+1);
                par[i]=z;
            }
            for(int v=0;v<=n+1;v++)
            deg[v]=0;
            for(int v=0;v<=n;v++)
            deg[par[v]]++;
            for(int v=0;v<=n+1;v++)
            {
                g[v].clear();
                g[v].reserve(deg[v]);
            }
            for(int v=0;v<=n;v++)
            g[par[v]].push_back(v);
            sz=0;
            k=q[x][2]+1;
            for(int v=0;v<=n+1;v++)
            a[v]=0;
            dfs(n+1);
            for(int v=0;v<=n;v++)
            if(res[v]==-1 and a[v]>0)
            res[v]=x;
        }
        for(int i=1;i<=n;i++)
        cout<<res[i]<<' ';
        cout<<'\n';
    }
    return 0;
}
