## https://yukicoder.me/problems/no/3048 import math def main(): X, N = map(int, input().split()) if X > 0: low = 1 high = N if X - (high * (high + 1) )// 2 > 0: print(X - (N * (N + 1)) // 2) return while high - low > 1: mid =( high + low) // 2 if X - (mid * (mid + 1)) // 2 <= 0: high = mid else: low = mid if X - (low * (low + 1)) // 2 <= 0: v = low else: v = high y = X - (v * (v + 1)) // 2 p = (N - v + 1) // 2 p0 = p * v + p ** 2 m = (N - v) // 2 m0 = m * v + m * (m + 1) ans = y + p0 - m0 else: low = 1 high = N if X + (high * (high + 1)) // 2 <= 0: print(X + (N * (N + 1)) // 2) return while high - low > 1: mid =( high + low) // 2 if X + (mid * (mid + 1)) // 2 > 0: high = mid else: low = mid if X + (low * (low + 1)) // 2 > 0: v = low else: v = high y = X + (v * (v + 1)) // 2 p = (N - v + 1) // 2 p0 = p * v + p ** 2 m = (N - v) // 2 m0 = m * v + m * (m + 1) ans = y - p0 + m0 print(ans) if __name__ == "__main__": main()