def solve(n): T = [] i = 1 while 1: t = i * (i + 1) // 2 if t < n: T.append(t) elif t == n: return 1 else: break i += 1 m = len(T) for i in range(m): ti = T[i] for j in range(i, m): if ti + T[j] == n: return 2 if ti + T[j] > n: break return 3 if __name__ == '__main__': n = int(input()) print(solve(n))