#include<bits/stdc++.h>
using namespace std;
int n,m;
int ans;
pair<string,int> a[100005];
int calc(int bit,int num){
for(int i=1;i<=n;i++){
int x=a[i].second>>bit&1;
if(a[i].first=="OR"){
num|=x;
}
if(a[i].first=="XOR"){
num^=x;
}
else{
num&=x;
}
}
return num;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i].first>>a[i].second;
}
int sum=0;
for(int i=29;i>=0;i--){
if(1<<i<=m){
int ans1=calc(i,0);
int ans2=calc(i,1);
if(ans2>ans1){
sum+=(1<<i);
ans+=ans2<<i;
}
else{
ans+=ans1<<i;
}
}
}
cout<<ans;
return 0;
}