#include <bits/stdc++.h>
using namespace std;
int n;
pair<int, int> a[2][100010];
bool used[100010];
int fat[100010];
int main() {
  int i, j, c, v;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) {
    scanf("%d %d", &c, &v);
    a[c][++a[c][0].first] = make_pair(v, i);
  }
  sort(a[0] + 1, a[0] + a[0][0].first + 1);
  sort(a[1] + 1, a[1] + a[1][0].first + 1);
  i = j = 1;
  for (int t = 1; t < n; t++) {
    int tmp = min(a[0][i].first, a[1][j].first);
    printf("%d %d %d\n", a[0][i].second, a[1][j].second, tmp);
    a[0][i].first -= tmp, a[1][j].first -= tmp;
    if (a[0][i].first)
      j++;
    else if (a[1][j].first)
      i++;
    else if (i < a[0][0].first)
      i++;
    else
      j++;
  }
  return 0;
}
