# https://yukicoder.me/problems/no/3550 def main(): N = int(input()) A = list(map(int, input().split())) a_list = [] for a in A: array = [] for k in range(30): array.append(a % 2) a //= 2 a_list.append(array) answer = [0] * 30 for k in reversed(range(30)): if k % 2 == 1: is_ok = False for i in range(len(a_list)): if a_list[i][k] == 1: is_ok = True if is_ok: answer[k] = 1 else: answer[k] = 0 else: is_ok = True array = [] for i in range(len(a_list)): if a_list[i][k] == 1: array.append(i) if len(array) > 0: for l in range(k + 1, 30, 2): if answer[l] == 1: is_ok2 = False for i in array: if a_list[i][l] == 1: is_ok2 = True if not is_ok2: is_ok = False else: is_ok = False if is_ok: answer[k] = 1 a_list = [a_list[i] for i in array] else: answer[k] = 0 ans = 0 for k in range(30): ans += answer[k] * (2 ** k) print(ans) if __name__ == "__main__": main()