#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> arr(n);
for (int i = 0; i < n; i++)
cin >> arr[i];
unordered_map<int, vector<pair<int, int>>> mp;
for (int k = 2; k < n - 1; k++) {
int j = k - 1;
// Store earlier pairs (i, j).
for (int i = 0; i < j; i++) {
int xr = arr[i] ^ arr[j];
mp[xr].push_back({i, j});
}
// Find matching pairs (k, l).
for (int l = k + 1; l < n; l++) {
int target = arr[k] ^ arr[l];
auto it = mp.find(target);
if (it != mp.end()) {
for (auto [i, j] : it->second) {
cout << "[" << i + 1 << ","
<< j + 1 << ","
<< k + 1 << ","
<< l + 1 << "]\n";
}
}
}
}
return 0;
}
CiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwoKICAgIHZlY3RvcjxpbnQ+IGFycihuKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgICAgIGNpbiA+PiBhcnJbaV07CgogICAgdW5vcmRlcmVkX21hcDxpbnQsIHZlY3RvcjxwYWlyPGludCwgaW50Pj4+IG1wOwoKICAgIGZvciAoaW50IGsgPSAyOyBrIDwgbiAtIDE7IGsrKykgewogICAgICAgIGludCBqID0gayAtIDE7CgogICAgICAgIC8vIFN0b3JlIGVhcmxpZXIgcGFpcnMgKGksIGopLgogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgajsgaSsrKSB7CiAgICAgICAgICAgIGludCB4ciA9IGFycltpXSBeIGFycltqXTsKICAgICAgICAgICAgbXBbeHJdLnB1c2hfYmFjayh7aSwgan0pOwogICAgICAgIH0KCiAgICAgICAgLy8gRmluZCBtYXRjaGluZyBwYWlycyAoaywgbCkuCiAgICAgICAgZm9yIChpbnQgbCA9IGsgKyAxOyBsIDwgbjsgbCsrKSB7CiAgICAgICAgICAgIGludCB0YXJnZXQgPSBhcnJba10gXiBhcnJbbF07CgogICAgICAgICAgICBhdXRvIGl0ID0gbXAuZmluZCh0YXJnZXQpOwoKICAgICAgICAgICAgaWYgKGl0ICE9IG1wLmVuZCgpKSB7CiAgICAgICAgICAgICAgICBmb3IgKGF1dG8gW2ksIGpdIDogaXQtPnNlY29uZCkgewogICAgICAgICAgICAgICAgICAgIGNvdXQgPDwgIlsiIDw8IGkgKyAxIDw8ICIsIgogICAgICAgICAgICAgICAgICAgICAgICAgPDwgaiArIDEgPDwgIiwiCiAgICAgICAgICAgICAgICAgICAgICAgICA8PCBrICsgMSA8PCAiLCIKICAgICAgICAgICAgICAgICAgICAgICAgIDw8IGwgKyAxIDw8ICJdXG4iOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAwOwp9Cg==