#include <bits/stdc++.h>
using namespace std;
struct node {
  long long v, d, p;
} a[5000];
long long n, vis[5000], ans, an[5000];
int main() {
  scanf("%I64d ", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%I64d %I64d %I64d", &a[i].v, &a[i].d, &a[i].p);
  }
  for (int i = 1; i <= n; i++) {
    if (!vis[i]) {
      ans++;
      an[ans] = i;
      for (int j = i + 1; a[i].v && j <= n; j++)
        if (!vis[j]) {
          a[j].p -= a[i].v;
          a[i].v--;
        }
    }
    int flag = 0;
    while (!flag) {
      flag = 1;
      for (int j = i + 1; j <= n; j++)
        if (!vis[j] && a[j].p < 0) {
          vis[j] = 1;
          flag = 0;
          for (int k = j + 1; k <= n; k++) a[k].p -= a[j].d;
          break;
        }
    }
  }
  printf("%I64d\n", ans);
  for (int i = 1; i <= ans; i++) printf("%I64d ", an[i]);
  printf("\n");
}
