#include using namespace std; int main() { long long x, n; scanf("%lld %lld", &x, &n); long long s; if(x == 0) { s = 0; } else if(x <= 0) { long long ng(0LL), ok(2000000000LL); while(1 < ok-ng) { long long mid((ok+ng)/2); if(mid & 1) { if(-x < (mid+1) / 2 * mid) { ok = mid; }else { ng = mid; } }else { if(-x < mid / 2 * (mid+1)) { ok = mid; }else { ng = mid; } } } s = ng; }else { long long ng(0LL), ok(2000000000LL); while(1 < ok-ng) { long long mid((ok+ng)/2); if(mid & 1) { if(x <= (mid+1) / 2 * mid) { ok = mid; }else { ng = mid; } }else { if(x <= mid / 2 * (mid+1)) { ok = mid; }else { ng = mid; } } } s = ok; } long long ans; if(n <= s) { if(n & 1) { if(0 < x) { ans = x - (n+1) / 2 * n; }else { ans = x + (n+1) / 2 * n; } }else { if(0 < x) { ans = x - n / 2 * (n+1); }else { ans = x - n / 2 * (n+1); } } }else { if(0 < x) { if(s & 1) { x = x - (s+1) / 2 * s; }else { x = x - s / 2 * (s+1); } }else { if(s & 1) { x = x + (s+1) / 2 * s; }else { x = x + s / 2 * (s+1); } } if((n-s) & 1) { ans = -x + (n-s) / 2 + 1; }else { ans = x - (n-s) / 2; } } printf("%lld\n", ans); return 0; }