N,K = map(int,input().split()) if N < K: print("INF") exit() Q = [] a = N.bit_length() for i in range(N,2**a): if N & i == N: Q.append(i) NQ = len(Q) ans = 0 for i in range(NQ): for j in range(i,NQ): if Q[j] - Q[i] > K: break if Q[i] & Q[j] == N: ans += 1 print(ans)