import sys import pypyjit import itertools import heapq import math from collections import deque, defaultdict import bisect input = sys.stdin.readline sys.setrecursionlimit(10 ** 6) pypyjit.set_param('max_unroll_recursion=-1') A, B = map(int, input().split()) acc = 1 for i in range(30 + 1): n = 1 if A & (1 << i) else 0 m = 1 if B & (1 << i) else 0 if n == 1 and m == 0: acc = 0 break if n == 0 and m == 1: acc <<= 1 print(acc >> 1 if acc > 1 else acc)