#include using namespace std; #define ALL(x) begin(x),end(x) #define rep(i,n) for(int i=0;i<(n);i++) #define debug(v) cout<<#v<<":";for(auto x:v){cout<bool chmax(T &a,const T &b){if(abool chmin(T &a,const T &b){if(b ostream &operator<<(ostream &os,const vector&v){ for(int i=0;i<(int)v.size();i++) os< istream &operator>>(istream &is,vector&v){ for(T &x:v)is>>x; return is; } signed main(){ ll a,b;cin>>a>>b; vector> dp(33,vector(2,0)); dp[32][0]=1; for(int i=31;i>=0;i--){ int a_bit=(a>>i)&1,b_bit=(b>>i)&1; if(a_bit and b_bit){ dp[i][0]+=dp[i+1][0]; dp[i][1]+=dp[i+1][0]; } if(!a_bit and b_bit){ dp[i][1]+=dp[i+1][0]+dp[i+1][1]; } if(a_bit and !b_bit){ cout<<0<