#include using namespace std; using ll = long long; using ld = long double; using P = pair; using vi = vector; using vl = vector; using vll = vector; using vs = vector; using vc = vector; using pll = pair; const int INF = 1e9; using Graph = vector>; #define rep(i, n) for (int i = 0; i < (int)(n); i++) ll baseN_to_base10(string n, ll b){ reverse(n.begin(), n.end()); long long res = 0; ll m = n.size(); ll count = 1; for(int i = 0; i < m; i++){ res += (n[i] - '0')*count; count *= b; } return res; } int main() { string a,b; cin >> a >> b; bitset<30> x(a),y(b); string f; rep(i,30){ if(x.test(i) && y.test(i))f = '0' + f; else if(!x.test(i) && y.test(i))f = '1' + f; else if(x.test(i) && !y.test(i))f = '1' + f; else if(!x.test(i) && !y.test(i))f = '0' + f; } cout << baseN_to_base10(f,2) << endl; }