output_description: If at least x operations are required to withdraw exactly N yen in total,
  print x.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
attempt: def dfs(a, b, c):
      todo = [[]]
      ret = []
      while len(todo) > 0:
          t = todo.pop()
          l = len(t)
          if l == a:
              ret.append(t)
          else:
              s = 0
              for i in range(1, l + 1):
                  s += 6**i * t[i - 1]
              for i in range(b + 1):
                  if s + 6 ** (l + 1) * i <= c:
                      tc = t.copy()
                      tc.append(i)
                      todo.append(tc)
      return ret
  
  
  a = 6
  b = 5
  c = int(input())
  l = dfs(a, b, c)
  ans = c
  for li in l:
      ansi = sum(li)
      now = c - sum([6 ** (i + 1) * li[i] for i in range(len(li))])
      for i in range(1, 6):
          ansi += now % 9
          now //= 9
      ans = min(ans, ansi)
  print(ans)
  
problem_description: Statement
  
  To make it difficult to withdraw money, a certain bank allows its customers to
  withdraw only one of the following amounts in one operation:
  
    * 1 yen (the currency of Japan)
  
    * 6 yen, 6^2(=36) yen, 6^3(=216) yen, ...
  
    * 9 yen, 9^2(=81) yen, 9^3(=729) yen, ...
  
  At least how many operations are required to withdraw exactly N yen in total?
  
  It is not allowed to re-deposit the money you withdrew.
samples: [{"input": "127", "output": "4\n    \n\nBy withdrawing 1 yen, 9 yen, 36(=6^2) yen and 81(=9^2) yen, we can withdraw\n127 yen in four operations.\n\n* * *"}, {"input": "3", "output": "3\n    \n\nBy withdrawing 1 yen three times, we can withdraw 3 yen in three operations.\n\n* * *"}, {"input": "44852", "output": "16"}]