#include <bits/stdc++.h>
using namespace std;
int n, w;
priority_queue<pair<int, int> > pq[2];
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) {
    int a, b;
    scanf("%d%d", &a, &b);
    pq[a].push(make_pair(-b, i));
  }
  w = 0;
  for (int i = 1; i <= n - 1; ++i) {
    if (-pq[w].top().first < -pq[w ^ 1].top().first) w ^= 1;
    if ((pq[w].top().first == pq[w ^ 1].top().first) &&
        (pq[w].size() > pq[w ^ 1].size()))
      w ^= 1;
    int a = -pq[w].top().first;
    int b = pq[w].top().second;
    printf("%d %d %d\n", pq[w].top().second, pq[w ^ 1].top().second,
           -pq[w ^ 1].top().first);
    a -= -pq[w ^ 1].top().first;
    pq[0].pop();
    pq[1].pop();
    pq[w].push(make_pair(-a, b));
  }
  return 0;
}
