package main import "fmt" const maxWord = (1 << 16) - 1 func shift(a int) int { return (1<<15)*(a%2) + (a / 2) } func main() { var n int fmt.Scanln(&n) a := make([]int, n) for i := 0; i < n; i++ { fmt.Scan(&a[i]) } if n >= 16 { fmt.Println(maxWord) return } dp := make([]bool, maxWord+1) dp[0] = true for i := 0; i < n; i++ { x := a[i] temp := make([]bool, maxWord+1) for j := 0; j < 16; j++ { for k := 0; k <= maxWord; k++ { if dp[k] { temp[k|x] = true } } x = shift(x) } dp = temp } for k := maxWord; k > 0; k-- { if dp[k] { fmt.Println(k) return } } }