#include <bits/stdc++.h>
using namespace std;
inline long long getint() {
  long long num = 0, flag = 1;
  char c;
  while ((c = getchar()) < '0' || c > '9')
    if (c == '-') flag = -1;
  while (c >= '0' && c <= '9') num = num * 10 + c - 48, c = getchar();
  return num * flag;
}
int n, N;
struct node {
  int l, a, r, id;
  friend bool operator>(node x, node y) { return x.a > y.a; }
} p[300005];
int ans, L, R;
int mx[300005 << 2], lz[300005 << 2];
inline bool cmp(node x, node y) { return x.l < y.l; }
inline bool cmp2(node x, node y) { return x.id < y.id; }
inline void pushdown(int i) {
  if (lz[i]) {
    lz[i << 1] += lz[i], lz[i << 1 | 1] += lz[i];
    mx[i << 1] += lz[i], mx[i << 1 | 1] += lz[i];
  }
  lz[i] = 0;
}
inline void pushup(int i) { mx[i] = max(mx[i << 1], mx[i << 1 | 1]); }
inline void update(int i, int l, int r, int ql, int qr, int num) {
  if (r < ql || qr < l) return;
  if (ql <= l && r <= qr) {
    mx[i] += num, lz[i] += num;
    return;
  }
  pushdown(i);
  int mid = (l + r) >> 1;
  update(i << 1, l, mid, ql, qr, num),
      update(i << 1 | 1, mid + 1, r, ql, qr, num);
  pushup(i);
}
inline int query(int i, int l, int r, int num) {
  if (l == r) return l;
  int mid = (l + r) >> 1;
  pushdown(i);
  if (mx[i << 1] == num)
    return query(i << 1, l, mid, num);
  else
    return query(i << 1 | 1, mid + 1, r, num);
}
int main() {
  n = getint();
  for (int i = 1; i <= n; i++)
    p[i].l = getint(), N = max(p[i].a = getint(), N), p[i].r = getint(),
    p[i].id = i;
  sort(p + 1, p + n + 1, cmp);
  priority_queue<node, vector<node>, greater<node> > Q;
  int now = 1;
  for (int i = 1; i <= N; i++) {
    while (!Q.empty() && Q.top().a < i)
      update(1, 1, N, Q.top().a, Q.top().r, -1), Q.pop();
    while (now <= n && p[now].l == i)
      update(1, 1, N, p[now].a, p[now].r, 1), Q.push(p[now++]);
    if (mx[1] > ans) ans = mx[1], L = i, R = query(1, 1, N, mx[1]);
  }
  printf("%d\n", ans);
  sort(p + 1, p + n + 1, cmp2);
  for (int i = 1; i <= n; i++)
    if (p[i].l <= L && p[i].a >= L && p[i].a <= R && p[i].r >= R)
      printf("%d ", i);
  printf("\n");
}
