#include <bits/stdc++.h>
using namespace std;
long long i, j, k, m, n, tc, cases = 0;
int main() {
  cin >> tc;
  while (tc--) {
    cin >> n;
    int ar[2 * n + 2], cEven = 0, cOdd = 0;
    for (i = 0; i < 2 * n; i++) {
      cin >> ar[i];
      if (ar[i] % 2 == 0)
        cEven++;
      else
        cOdd++;
    }
    if (cEven % 2 == 0) {
      int cntE = 0, cntO = 0, tEven = 0, tOdd = 0;
      if (cEven > 0)
        cEven = cEven - 2;
      else
        cOdd = cOdd - 2;
      for (i = 0; i < 2 * n; i++) {
        if (cntE <= cEven) {
          if (ar[i] % 2 == 0) {
            if (tEven == 0) {
              tEven = i + 1;
            } else {
              cout << tEven << " " << i + 1 << endl;
              tEven = 0;
            }
            cntE++;
          }
        }
        if (cntO <= cOdd) {
          if (ar[i] % 2 == 1) {
            if (tOdd == 0) {
              tOdd = i + 1;
            } else {
              cout << tOdd << " " << i + 1 << endl;
              tOdd = 0;
            }
            cntO++;
          }
        }
      }
    } else {
      int cntE = 0, cntO = 0, tEven = 0, tOdd = 0;
      for (i = 0; i < 2 * n; i++) {
        if (cntE < cEven) {
          if (ar[i] % 2 == 0) {
            if (tEven == 0) {
              tEven = i + 1;
            } else {
              cout << tEven << " " << i + 1 << endl;
              tEven = 0;
            }
            cntE++;
          }
        }
        if (cntO < cOdd) {
          if (ar[i] % 2 == 1) {
            if (tOdd == 0) {
              tOdd = i + 1;
            } else {
              cout << tOdd << " " << i + 1 << endl;
              tOdd = 0;
            }
            cntO++;
          }
        }
      }
    }
  }
  return 0;
}
