from bisect import bisect N = int(input()) k = 1 L = [] x = 1 while x <= N: L.append(x) k += 1 x = k * (k + 1) // 2 S = set(L) S1 = set() NS = len(S) for i in range(NS): for j in range(i, NS): if L[i] + L[j] > N: break S1.add(L[i] + L[j]) if N in S: print(1) elif N in S1: print(2) else: print(3)