#!/usr/bin/env python3 # %% import sys read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines # %% import numpy as np # %% N, K = map(int, read().split()) # %% def solve_fixed_k(N, K): n = max(N, K).bit_length() x = np.arange(1 << n + 1, dtype=np.int32) y = x + K cond = (x & y == N) if np.any(cond & (x ^ y >= (1 << n))): return None else: return np.count_nonzero(cond) # %% answer = 0 for k in range(K + 1): x = solve_fixed_k(N, k) if x is None: answer = 'INF' break answer += x # %% print(answer)