from collections import deque, defaultdict, Counter from bisect import bisect_left, bisect_right from itertools import permutations, combinations from heapq import heappop, heappush import math, sys # input = sys.stdin.readline _int = lambda x: int(x)-1 MOD = 998244353 #10**9+7 INF = 1<<60 Yes, No = "Yes", "No" X, N = map(int, input().split()) if X == 0: r = 0 else: l, r = 0, 10**20 while r-l>1: m = (l+r)//2 num = (1+m)*m//2 if X > 0: if X-num <= 0: r = m else: l = m else: if X+num > 0: r = m else: l = m if r > N: r = N if X > 0: X -= (1+r)*r//2 else: X += (1+r)*r//2 if (N-r)%2: r += 1 if X > 0: X -= r else: X += r if X > 0: X += (N-r)//2 else: X -= (N-r)//2 print(X)