#include <bits/stdc++.h>
using namespace std;
long long n,m,t[100005],ans;
string op[100005];
int main() {
cin>>n>>m;
for(int i=1; i<=n; i++) {
cin>>op[i]>>t[i];
}
for(int i=60; i>=0; i--) {
if(ans+(1<<i)<=m) {
bool k=1;
for(int j=1; j<=n; j++) {
if(op[j]=="AND") k&=(t[j]&(1<<i));
if(op[j]=="OR") k|=(t[j]&(1<<i));
if(op[j]=="XOR") k^=(t[j]&(1<<i));
}
bool k2=0;
for(int j=1; j<=n; j++) {
if(op[j]=="AND") k2&=(t[j]&(1<<i));
if(op[j]=="OR") k2|=(t[j]&(1<<i));
if(op[j]=="XOR") k2^=(t[j]&(1<<i));
}
if(k>k2) ans+=(1<<i);
}
}
for(int i=1; i<=n; i++) {
if(op[i]=="AND") ans&=t[i];
if(op[i]=="OR") ans|=t[i];
if(op[i]=="XOR") ans^=t[i];
}
cout<<ans;
return 0;
}