#include <bits/stdc++.h>
using namespace std;
struct node {
  long long v, d, p;
} data[4005];
vector<int> v;
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++)
    scanf("%I64d%I64d%I64d", &data[i].v, &data[i].d, &data[i].p);
  for (int i = 1; i <= n; i++) {
    if (data[i].p >= 0) {
      v.push_back(i);
      long long sum1 = data[i].v, sum2 = 0;
      for (int j = i + 1; j <= n; j++) {
        if (data[j].p >= 0) {
          data[j].p -= (sum1 + sum2);
          sum1 = max(0LL, sum1 - 1);
          if (data[j].p < 0) sum2 += data[j].d;
        }
      }
    }
  }
  printf("%d\n", v.size());
  for (int i = 0; i < v.size() - 1; i++) printf("%d ", v[i]);
  printf("%d\n", v[v.size() - 1]);
  return 0;
}
