func_code_string: #include <bits/stdc++.h>   using namespace std; namespace {       using T = long long;       constexpr char endl =   n ;       const int maxN = 205;       const int maxM = 1e5 + 5;       const T base = 100000;          T Ceil(T x, T y) {           return (x + y - 1) / y;       }          int n, m;       T t[maxN], x[maxN], y[maxN];       bool f[maxM];          int ans[maxM];          void Reach(int i, int x) {           if(!f[x])               ans[x] = i, f[x] = true;       }          void Solve() {           cin >> n >> m;           for(int i = 1; i <= n; i++)               cin >> t[i] >> x[i] >> y[i];           for(int i = 1; i <= m; i++)               ans[i] = -1;           f[0] = true;           for(int i = 1; i <= n; i++)                for(int j = m; j >= 0; j--) if(f[j]) {                   T now = j;                   for(int k = 1; k <= y[i]; k++) {                       if(t[i] == 1)   now += Ceil(x[i], base);                       else            now = Ceil(now * x[i], base);                       if(now > m || f[now])                           break;                       Reach(i, now);                   }               }           for(int i = 1; i <= m; i++)               cout << ans[i] <<    n [i == m];       }   }   int main() {       cin.tie(nullptr)->sync_with_stdio(false);       int t(1); //cin >> t;       for(int i = 1; i <= t; i++) Solve();       cout << flush;       return 0;   }