from collections import deque n = int(input()) nums = [0] cnt = 0 loop_num = 1 loop_flg = True while loop_flg: for i in range(1, loop_num): nums.append(i) cnt += 1 if cnt == n: loop_flg = False break loop_num += 1 steps = [None, 1] for _ in range(2, n+1): steps.append(-1) q = deque([]) start = 1 q.append(start) while q: v = q.popleft() # print('num') # print(v) # print('step') # print(steps[v]) if v == n: # print("goal") break num = nums[v] for next_v in [v + num, v - num]: if 1 <= next_v and next_v <= n: if steps[next_v] == -1: q.append(next_v) steps[next_v] = steps[v] + 1 print(steps[n])