#include<stdio.h>
#define maxn 1100000
int fenwick[maxn+1], n;
inline void dec_after(int x){
    while(1){
        --fenwick[x];
        x+=x&(-x);
        if(x>n)
            return;
    }
}
inline void sum_before(int x, int &sum){
    sum=0;
    while(1){
        sum+=fenwick[x];
        if(x<=1)
            return;
        x-=(x)&(-x);
    }
}
inline void find_kth(int k,int &res){
    int up=n, low=1, cur;
    while(1){
        if(up==low){
            res=low;
            return;
        }
        int mid=(low+up)>>1;
        sum_before(mid, cur);
        if(cur+mid>=k)
            up=mid;
        else
          low=mid+1;
    }
}
int main(){
    int k,cur=1,ans=0,x, i;
    scanf("%d %d", &n, &k);
    for(i=1; i<=n; ++i){
        cur=1+(cur+k-2)%(n-i+1);
        find_kth(cur,  x);
        dec_after(x);
        ans^=(i>=x)?(i-x):(x-i) ; 
    }
    printf("%d\n", ans);
    return 0;
}