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.

Constraints

* 1 \leq N \leq 100000
* N is an integer.

Input

Input is given from Standard Input in the following format:


N


Output

If at least x operations are required to withdraw exactly N yen in total, print x.

Examples

Input

127


Output

4


Input

3


Output

3


Input

44852


Output

16
import java.util.ArrayList;
import java.util.Scanner;

public class Main {

  public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    int N = Integer.parseInt(sc.next());

    ArrayList<Integer> list = new ArrayList<Integer>();
    list.add(1);
    int e6 = 6, e9 = 9, flag = 0;
    while (true) {
      if (flag == 6) {
        e6 *= 6;
      } else if (flag == 9) {
        e9 *= 9;
      }
      if (e6 > N && e9 > N) {
        break;
      } else if (e6 < e9) {
        list.add(e6);
        flag = 6;
      } else {
        list.add(e9);
        flag = 9;
      }
    }

    int dp[] = new int[N + 1];
    dp[0] = 0;
    for (int i = 1; i < N + 1; i++) {
      dp[i] = dp[i - 1] + 1;
      for (int j = 0; j < list.size(); j++) {
        int t = list.get(j);
        if (i - t < 0) {
          break;
        } else {
          dp[i] = Math.min(dp[i], dp[i - t] + 1);
        }
      }
    }
    System.out.println(dp[N]);
  }
}