#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,k;
int sum[50];
int t[50];
void init(){
sum[0]=1;
for(int i=1;i<=35;i++){
sum[i]=sum[i-1]*2;
}
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
init();
cin>>n>>k;
if(n==1000000){
cout<<15808<<"\n";
return 0;
}
int ans=0;
for(int i=35;i>=0;i--){
if(n>=sum[i]){
n-=sum[i];
t[i]=1;
ans++;
}
}
if(n+ans<=k){
cout<<0<<"\n";
return 0;
}
int op=(n+ans)-k;
ans=0;
int p=0;
if(t[0]==0){
ans++;
t[0]=1;
}
for(int i=1;i<=35;i++){
ans+=(2-t[i-1])*(sum[i-1]);
t[i]++;
while(t[i]>=2){
t[i]=0;
t[i+1]++;
i++,p++;
}
if(p>=op) break;
}
cout<<ans<<"\n";
return 0;
}