#include #include using namespace std; using namespace atcoder; void shift(int& x) { x = (x>>1)+((x&1)<<15); } int main() { int N, MAX = 1<<16; cin >> N; vector A(N+1); for( int i = 1; i <= N; i++ ) { cin >> A[i]; } if( N >= 16 ) { cout << MAX-1 << endl; }else { vector> dp(N+1, vector(MAX)); dp[0][0] = true; for( int i = 1; i <= N; i++ ) { for( int j = 0; j < MAX; j++ ) { for( int k = 0; k < 16; k++ ) { dp[i][j|A[i]] |= dp[i-1][j]; shift(A[i]); } } } for( int j = MAX-1; j >= 0; j-- ) { if( dp[N][j] ) { cout << j << endl; break; } } } }