#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
#define MAXN 1000000
int v[MAXN+25];
int main()
{
    int n,k,i,j,val1=0,val2=0,ind1,ind2,max=-1;
    scanf("%d%d",&n,&k);
    for(i=1 ; i<=n ; i++){
        scanf("%d",&v[i]);
    }
    if(k==1){
        for(i=1 ; i<=n ; i++){
            val1|=v[i];
        }
        printf("%d",val1);
    }
    if(k==2){
        for(ind1=1 ; ind1<=n ; ind1++){
            val1=v[1];
            for(i=2 ; i<ind1 ; i++){
                val1|=v[i];
            }
            val2=v[ind1];
            for(i=ind1+1 ; i<=n ; i++){
                val2|=v[i];
            }
            if(val1&val2>max){
                max=val1&val2;
            }
        }
        printf("%d",max);
    }
    return 0;
}
