N = int(input()) A = list(map(int,input().split())) if N >= 16: print((1<<16)-1) exit() dp = [[False] *(1<<16) for _ in range(N)] def shift(x): return x//2 + (1<<15) *(x%2) B = [[] for _ in range(N)] for i in range(N): x = A[i] for _ in range(16): x = shift(x) B[i].append(x) for x in B[0]: dp[0][x] = True for i in range(N-1): for s in range(1<<16): if dp[i][s]: for x in B[i+1]: dp[i+1][s|x] = True for s in reversed(range(1<<16)): if dp[N-1][s]: print(s) exit()