#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define all(c) c.begin(), c.end() #define rall(c) c.rbegin(), c.rend() #define debug(x) cerr << #x << ": " << x << endl using namespace std; typedef long long ll; typedef pair Pll; typedef pair Pii; const ll MOD = 1000000007; const long double EPS = 1e-10; const int dyx[4][2] = { { 0, 1}, {-1, 0}, {0,-1}, {1, 0} }; int n, k, ans; int main() { cin >> n >> k; for(int i=0;i<=3*max(1, n);++i) { for(int j=0;j<=k;++j) { if((i & (i+j)) == n) { ++ans; if(i >= 2*max(1, n)) { cout << "INF\n"; return 0; } } } } cout << ans << "\n"; return 0; }