#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
ll n,a,b,i,j,q,k;
cin>>n>>a>>b;
vector<ll> age(n+1),pre(n+2,0);
for(i=1 ; i<=n ; i++) cin>>age[i];
for(i=1 ; i<=n ; i++) pre[i]=pre[i-1]+age[i];
ll ans=0;
if(a==1){
for(i=41 ; i>=0 ; i--){
ll mask=ans+(1LL<<i)-1;
vector<ll> dp(n+1,1e9);
for(k=1 ; k<=n ; k++){
if(pre[k]&(~mask)) continue;
dp[k]=1;
}
for(k=1 ; k<=n ; k++){
for(q=1 ; q<k ; q++){
if((pre[k]-pre[q])&(~mask)) continue;
dp[k]=min(dp[k],dp[q]+1);
}
}
if(dp[n]<=b) continue;
ans+=(1LL<<i);
}
cout<<ans<<"\n";
return 0;
}
for(i=41 ; i>=0 ; i--){
ll mask=ans+(1LL<<i)-1;
vector<vector<bool>> dp(b+1,vector<bool>(n+1,0));
for(j=1 ; j<=n ; j++){
if(pre[j]&(~mask)) continue;
dp[0][j]=1;
}
for(j=1 ; j<=b ; j++){
for(k=1 ; k<=n ; k++){
for(q=1 ; q<k ; q++){
if(dp[j-1][q]==0) continue;
if((pre[k]-pre[q])&(~mask)) continue;
dp[j][k]=1;
}
}
}
bool check=0;
for(j=a ; j<=b ; j++) if(dp[j][n]) check=1;
if(check) continue;
ans+=(1LL<<i);
}
cout<<ans<<"\n";
return 0;
}