"use strict"
function Main(input){
  input=input.split("\n");
  input[0]=input[0].split(" ");
  input[1]=input[1].split(" ");
  var N=parseInt(input[0][0]);
  var K=parseInt(input[0][1]).toString(2);
  for(let j=(K.length); j<50 ;j++){
    K="0"+K;
  }
  var As=[];
  for(let i=0;i<N;i++){
    As[i]=parseInt(input[1][i]).toString(2);
    for(let j=(As[i].length); j<50 ;j++){
      As[i]="0"+As[i];
    }
  }
  var digSum=[];
  for(let i=0;i<50;i++){
    digSum[i]=0;
    for(let j=0;j<N;j++){
      digSum[i]+=parseInt(As[j][i]);
    }
  }
  var counter=0;
  var OneAvailable=0;
  for(let i=0;i<50;i++){
    if(K[i]==="1")OneAvailable+=1;
    if(OneAvailable>0){
      counter +=  Math.max(N-digSum[i],digSum[i])*Math.pow(2,49-i);
      OneAvailable=2*(OneAvailable-((digSum[i]<N-digSum[i])?1:0));
    }else{
      counter +=  digSum[i]*Math.pow(2,49-i);
    }
  }

  console.log(counter);

}


Main(require("fs").readFileSync("/dev/stdin","utf8"));