def try_add(chosen, x, wanted_bit):
    k = len(chosen) + 1
    for cur_bit in range(wanted_bit + 1):
        cnt = 0
        for bin_ai in chosen:
            if bin_ai[cur_bit] == "1":
                cnt += 1
        if x[cur_bit] == "1":
            cnt += 1
        if cnt < k - 2:
            return False
    chosen.append(x)
    return True


N = int(input())
a = list(map(int, input().split()))
maxi = max(a)

max_bin_ai = "{0:b}".format(maxi)
max_n = len(max_bin_ai)

bin_a = list(map(lambda ai: "{0:b}".format(ai), a))

bin_a = list(map(lambda ai: "0" * (max_n - len(ai)) + ai, bin_a))


# On récupère les nombres ayant le bit à 1 à la position voulue
# On les trie
# On essaie d'ajouter le premier en vérifiant qu'on perd pas de bits supérieurs
# ce faisant

chosen = []
wanted_bit = 0
res = 0
while wanted_bit < max_n:
    filtered_bin_a = [bin_ai for bin_ai in bin_a if bin_ai[wanted_bit] == "1"]
    sfa = sorted(filtered_bin_a, reverse=True)
    can_add = try_add(chosen, sfa[0], wanted_bit)
    if can_add:
        wanted_power = max_n - 1 - wanted_bit
        res += 2 ** wanted_power
    wanted_bit += 1
print(res)
