# 貪欲でおけ? import bisect N = int(input()) D = [x*(x+1)//2for x in range(1, 6000)] def solve(X): if X == 0: return 0 else: r = bisect.bisect_right(D, X)-1 return solve(X-D[r])+1 print(solve(N))