Problem:
Score : 300 points

Problem 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.

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.

Sample Input 1

127

Sample Output 1

4

By withdrawing 1 yen, 9 yen, 36(=6^2) yen and 81(=9^2) yen, we can withdraw 127 yen in four operations.

Sample Input 2

3

Sample Output 2

3

By withdrawing 1 yen three times, we can withdraw 3 yen in three operations.

Sample Input 3

44852

Sample Output 3

16

Solution in C (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <stdio.h>

int main(void)
{
	int a=0,n;
	
	scanf("%d",&n);
	
	while(n >= 59049){
	n -= 59049;
	a++;
	printf("a");
	}
	while(n >= 46656){
	n -= 46656;
	a++;
	printf("b");
	}
	while(n >= 7776){
	n -= 7776;
	a++;
	printf("c");
	}
	while(n >= 6561){
	n -= 6561;
	a++;
	printf("d");
	}
	while(n >= 1296){
	n -= 1296;
	a++;
	printf("e");
	}
	while(n >= 729){
	n -= 729;
	a++;
	printf("f");
	}
	while(n >= 216){
	n -= 216;
	a++;
	printf("g");
	}
	while(n >= 81){
	n -= 81;
	a++;
	printf("h");
	}
	while(n >= 36){
	n -= 36;
	a++;
	printf("i");
	}
	while(n >= 9){
	n -= 9;
	a++;
	printf("j");
	}
	while(n >= 6){
	n -= 6;
	a++;
	printf("k");
	}
	while(n >= 1){
	n -= 1;
	a++;
	printf("l");
	}
	printf("%d\n",a);
		
return 0;
}