## https://yukicoder.me/problems/no/2142 def main(): N, K = map(int, input().split()) # 三角数をベースにやる方針 upper_n = -1 for n in range(1, N + 1): ans = (n * (n + 1)) // 2 if ans >= K: upper_n = n break answer1 = 0 if upper_n < N: answer1 += 1 if ans > K: answer1 += 1 # 真ん中の数を切り取る方針 answer2 = -1 for n in reversed(range(2, N + 1)): base = (N * (N + 1)) // 2 base -= ((n - 1) * n) // 2 if K < base: break elif K == base: answer2 = 1 break low = 1 high = n - 1 while high - low > 1: mid = (low + high) // 2 value = (mid * (mid + 1)) // 2 if value == K - base: answer2 = 1 break elif value < K - base: low = mid else: high = mid value = (low * (low + 1)) // 2 if value == K - base: answer2 = 1 break value = (high * (high + 1)) // 2 if value == K - base: answer2 = 1 break if answer2 == -1: print(answer1) else: print(min(answer2, answer1)) if __name__ == "__main__": main()