#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 1000006;
const int MAX_BITS = 21;
int n, a[MAX_N], ans, bits;
pair<int, int> dp[1 << MAX_BITS];
void add(int mask, int w) {
if (dp[mask].first == -1) {
dp[mask].first = w;
} else if (dp[mask].second == -1) {
if (dp[mask].first == w) return;
dp[mask].second = w;
if (dp[mask].first > dp[mask].second) {
swap(dp[mask].first, dp[mask].second);
}
} else {
if (dp[mask].second < w) {
dp[mask].first = dp[mask].second;
dp[mask].second = w;
} else if (dp[mask].first < w && dp[mask].second != w) {
dp[mask].first = w;
}
}
}
void merge(int m1, int m2) {
if (dp[m2].first != -1) add(m1, dp[m2].first);
if (dp[m2].second != -1) add(m1, dp[m2].second);
}
void solve() {
memset(dp, -1, sizeof dp);
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a[i];
add(a[i], i);
bits = max((int)log2(a[i]), bits);
}
bits++;
for (int i = 0; i < bits; i++) {
for (int mask = 0; mask < (1 << bits); mask++) {
if (mask & (1 << i)) {
merge(mask ^ (1 << i), mask);
}
}
}
for (int i = 0; i < n; i++) {
int cur = (1 << bits) - 1 - a[i];
int opt = 0;
for (int j = bits - 1; j >= 0; j--) {
if ((cur >> j) & 1) {
if (dp[opt ^ (1 << j)].second != -1 && dp[opt ^ (1 << j)].first > i) {
opt ^= (1 << j);
}
}
}
if (dp[opt].second != -1 && dp[opt].first > i) {
ans = max(ans, a[i] | opt);
}
}
cout << ans << endl;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t = 1;
// cin >> t;
while (t--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTUFYX04gPSAxMDAwMDA2Owpjb25zdCBpbnQgTUFYX0JJVFMgPSAyMTsKCmludCBuLCBhW01BWF9OXSwgYW5zLCBiaXRzOwpwYWlyPGludCwgaW50PiBkcFsxIDw8IE1BWF9CSVRTXTsKCnZvaWQgYWRkKGludCBtYXNrLCBpbnQgdykgewogICAgaWYgKGRwW21hc2tdLmZpcnN0ID09IC0xKSB7CiAgICAgICAgZHBbbWFza10uZmlyc3QgPSB3OwogICAgfSBlbHNlIGlmIChkcFttYXNrXS5zZWNvbmQgPT0gLTEpIHsKICAgICAgICBpZiAoZHBbbWFza10uZmlyc3QgPT0gdykgcmV0dXJuOwogICAgICAgIGRwW21hc2tdLnNlY29uZCA9IHc7CiAgICAgICAgaWYgKGRwW21hc2tdLmZpcnN0ID4gZHBbbWFza10uc2Vjb25kKSB7CiAgICAgICAgICAgIHN3YXAoZHBbbWFza10uZmlyc3QsIGRwW21hc2tdLnNlY29uZCk7CiAgICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZHBbbWFza10uc2Vjb25kIDwgdykgewogICAgICAgICAgICBkcFttYXNrXS5maXJzdCA9IGRwW21hc2tdLnNlY29uZDsKICAgICAgICAgICAgZHBbbWFza10uc2Vjb25kID0gdzsKICAgICAgICB9IGVsc2UgaWYgKGRwW21hc2tdLmZpcnN0IDwgdyAmJiBkcFttYXNrXS5zZWNvbmQgIT0gdykgewogICAgICAgICAgICBkcFttYXNrXS5maXJzdCA9IHc7CiAgICAgICAgfQogICAgfQp9Cgp2b2lkIG1lcmdlKGludCBtMSwgaW50IG0yKSB7CiAgICBpZiAoZHBbbTJdLmZpcnN0ICE9IC0xKSBhZGQobTEsIGRwW20yXS5maXJzdCk7CiAgICBpZiAoZHBbbTJdLnNlY29uZCAhPSAtMSkgYWRkKG0xLCBkcFttMl0uc2Vjb25kKTsKfQoKdm9pZCBzb2x2ZSgpIHsKICAgIG1lbXNldChkcCwgLTEsIHNpemVvZiBkcCk7CiAgICBjaW4gPj4gbjsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgY2luID4+IGFbaV07CiAgICAgICAgYWRkKGFbaV0sIGkpOwogICAgICAgIGJpdHMgPSBtYXgoKGludClsb2cyKGFbaV0pLCBiaXRzKTsKICAgIH0KICAgIGJpdHMrKzsKICAgIAogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBiaXRzOyBpKyspIHsKICAgICAgICBmb3IgKGludCBtYXNrID0gMDsgbWFzayA8ICgxIDw8IGJpdHMpOyBtYXNrKyspIHsKICAgICAgICAgICAgaWYgKG1hc2sgJiAoMSA8PCBpKSkgewogICAgICAgICAgICAgICAgbWVyZ2UobWFzayBeICgxIDw8IGkpLCBtYXNrKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIAogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBpbnQgY3VyID0gKDEgPDwgYml0cykgLSAxIC0gYVtpXTsKICAgICAgICBpbnQgb3B0ID0gMDsKICAgICAgICBmb3IgKGludCBqID0gYml0cyAtIDE7IGogPj0gMDsgai0tKSB7CiAgICAgICAgICAgIGlmICgoY3VyID4+IGopICYgMSkgewogICAgICAgICAgICAgICAgaWYgKGRwW29wdCBeICgxIDw8IGopXS5zZWNvbmQgIT0gLTEgJiYgZHBbb3B0IF4gKDEgPDwgaildLmZpcnN0ID4gaSkgewogICAgICAgICAgICAgICAgICAgIG9wdCBePSAoMSA8PCBqKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoZHBbb3B0XS5zZWNvbmQgIT0gLTEgJiYgZHBbb3B0XS5maXJzdCA+IGkpIHsKICAgICAgICAgICAgYW5zID0gbWF4KGFucywgYVtpXSB8IG9wdCk7CiAgICAgICAgfQogICAgfQogICAgCiAgICBjb3V0IDw8IGFucyA8PCBlbmRsOwp9CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoMCk7CiAgICBjb3V0LnRpZSgwKTsKICAgIAogICAgaW50IHQgPSAxOwogICAgLy8gY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKSB7CiAgICAgICAgc29sdmUoKTsKICAgIH0KICAgIHJldHVybiAwOwp9