#include <bits/stdc++.h>
using namespace std;
int i, j, k, n, m, x, y, t, a1, b1;
struct data {
  int x, id;
} a[101001], b[101001];
bool cmp(const data& a, const data& b) { return a.x > b.x; }
int main() {
  scanf("%d", &n);
  for (i = 1; i <= n; i++) {
    scanf("%d", &k);
    if (k == 0) {
      scanf("%d", &a[++a1].x);
      a[a1].id = i;
    } else {
      scanf("%d", &b[++b1].x);
      b[b1].id = i;
    }
  }
  sort(a + 1, a + 1 + a1, cmp);
  sort(b + 1, b + 1 + b1, cmp);
  i = j = 1;
  while (i <= a1 && j <= b1) {
    printf("%d %d %d\n", a[i].id, b[j].id, min(a[i].x, b[j].x));
    x = min(a[i].x, b[j].x);
    a[i].x -= x;
    b[j].x -= x;
    if (a[i].x)
      j++;
    else if (b[j].x)
      i++;
    else {
      if (i < a1)
        i++;
      else
        j++;
    }
  }
  return 0;
}
