#include <bits/stdc++.h>
using namespace std;
struct nod {
  int v, p, d, flag;
} xx[4005];
int m[4005];
int ans[4005];
int main() {
  int n;
  while (~scanf("%d", &n)) {
    int tot = 0;
    for (int i = 0; i < n; i++) scanf("%d%d%d", &xx[i].v, &xx[i].d, &xx[i].p);
    for (int i = 0; i < n; i++) {
      int t = 0;
      if (xx[i].p < 0) continue;
      ans[tot++] = i;
      int temp = xx[i].v;
      for (int j = i + 1; j < n; j++) {
        xx[j].flag = 0;
        if (xx[j].p < 0) continue;
        if (temp > 0) xx[j].p -= temp;
        temp--;
        xx[j].flag = 1;
      }
      for (int j = i + 1; j < n; j++) {
        if (xx[j].p >= 0) xx[j].p -= t;
        if (xx[j].flag && xx[j].p < 0) t += xx[j].d;
      }
    }
    printf("%d\n", tot);
    for (int i = 0; i < tot; i++) {
      printf("%d", ans[i] + 1);
      if (i != tot - 1) printf(" ");
    }
    printf("\n");
  }
  return 0;
}
