N=int(eval(input()))





X=[1]+[6**i for i in range(1,7)]+[9**i for i in range(1,6)]

X.sort()

X.reverse()





DP=[i for i in range(100001)]



def dpmin(i):

    Y=i

    for j in X:

      if i-j>=0:

        Y=min(Y,DP[i-j]+1)



    return Y



for i in range(100001):

    DP[i]=dpmin(i)



print((DP[N]))

    
N=int(eval(input()))





X=[1]+[6**i for i in range(1,7)]+[9**i for i in range(1,6)]

X.sort()

X.reverse()



ANS=1000000







i=4







for i_0 in range(max(N//X[0]-i,0),N//X[0]+1):

    N_0=N-X[0]*i_0

    for i_1 in range(max(N_0//X[1]-i,0),N_0//X[1]+1):

        N_1=N_0-X[1]*i_1

        for i_2 in range(max(N_1//X[2]-i,0),N_1//X[2]+1):

            N_2=N_1-X[2]*i_2

            for i_3 in range(max(N_2//X[3]-i,0),N_2//X[3]+1):

                N_3=N_2-X[3]*i_3

                for i_4 in range(max(N_3//X[4]-i,0),N_3//X[4]+1):

                    N_4=N_3-X[4]*i_4

                    for i_5 in range(max(N_4//X[5]-i,0),N_4//X[5]+1):

                        N_5=N_4-X[5]*i_5

                        for i_6 in range(max(N_5//X[6]-i,0),N_5//X[6]+1):

                            N_6=N_5-X[6]*i_6

                            for i_7 in range(max(N_6//X[7]-i,0),N_6//X[7]+1):

                                N_7=N_6-X[7]*i_7

                                for i_8 in range(max(N_7//X[8]-i,0),N_7//X[8]+1):

                                    N_8=N_7-X[8]*i_8

                                    for i_9 in range(max(N_8//X[9]-i,0),N_8//X[9]+1):

                                        N_9=N_8-X[9]*i_9

                                        i_10=N_9//6

                                        N_10=N_9-X[10]*i_10

                                        if ANS>i_0+i_1+i_2+i_3+i_4+i_5+i_6+i_7+i_8+i_9+i_10+N_10:

                                            ANS=i_0+i_1+i_2+i_3+i_4+i_5+i_6+i_7+i_8+i_9+i_10+N_10





                                            









print(ANS)

        

    

N = int(eval(input()))
X = [1] + [6**i for i in range(1, 7)] + [9**i for i in range(1, 6)]
X.sort()
X.reverse()
DP = [i for i in range(100001)]


def dpmin(i):
    Y = i
    for j in X:
        if i - j >= 0:
            Y = min(Y, DP[i - j] + 1)
    return Y


for i in range(100001):
    DP[i] = dpmin(i)
print((DP[N]))

N = int(eval(input()))
X = [1] + [6**i for i in range(1, 7)] + [9**i for i in range(1, 6)]
X.sort()
X.reverse()
ANS = 1000000
i = 4
for i_0 in range(max(N // X[0] - i, 0), N // X[0] + 1):
    N_0 = N - X[0] * i_0
    for i_1 in range(max(N_0 // X[1] - i, 0), N_0 // X[1] + 1):
        N_1 = N_0 - X[1] * i_1
        for i_2 in range(max(N_1 // X[2] - i, 0), N_1 // X[2] + 1):
            N_2 = N_1 - X[2] * i_2
            for i_3 in range(max(N_2 // X[3] - i, 0), N_2 // X[3] + 1):
                N_3 = N_2 - X[3] * i_3
                for i_4 in range(max(N_3 // X[4] - i, 0), N_3 // X[4] + 1):
                    N_4 = N_3 - X[4] * i_4
                    for i_5 in range(max(N_4 // X[5] - i, 0), N_4 // X[5] + 1):
                        N_5 = N_4 - X[5] * i_5
                        for i_6 in range(max(N_5 // X[6] - i, 0), N_5 // X[6] + 1):
                            N_6 = N_5 - X[6] * i_6
                            for i_7 in range(max(N_6 // X[7] - i, 0), N_6 // X[7] + 1):
                                N_7 = N_6 - X[7] * i_7
                                for i_8 in range(
                                    max(N_7 // X[8] - i, 0), N_7 // X[8] + 1
                                ):
                                    N_8 = N_7 - X[8] * i_8
                                    for i_9 in range(
                                        max(N_8 // X[9] - i, 0), N_8 // X[9] + 1
                                    ):
                                        N_9 = N_8 - X[9] * i_9
                                        i_10 = N_9 // 6
                                        N_10 = N_9 - X[10] * i_10
                                        if (
                                            ANS
                                            > i_0
                                            + i_1
                                            + i_2
                                            + i_3
                                            + i_4
                                            + i_5
                                            + i_6
                                            + i_7
                                            + i_8
                                            + i_9
                                            + i_10
                                            + N_10
                                        ):
                                            ANS = (
                                                i_0
                                                + i_1
                                                + i_2
                                                + i_3
                                                + i_4
                                                + i_5
                                                + i_6
                                                + i_7
                                                + i_8
                                                + i_9
                                                + i_10
                                                + N_10
                                            )
print(ANS)

-DP = [i for i in range(100001)] - - -def dpmin(i): -    Y = i -    for j in X: -        if i - j >= 0: -            Y = min(Y, DP[i - j] + 1) -    return Y - - -for i in range(100001): -    DP[i] = dpmin(i) -print((DP[N])) +ANS = 1000000 +i = 4 +for i_0 in range(max(N // X[0] - i, 0), N // X[0] + 1): +    N_0 = N - X[0] * i_0 +    for i_1 in range(max(N_0 // X[1] - i, 0), N_0 // X[1] + 1): +        N_1 = N_0 - X[1] * i_1 +        for i_2 in range(max(N_1 // X[2] - i, 0), N_1 // X[2] + 1): +            N_2 = N_1 - X[2] * i_2 +            for i_3 in range(max(N_2 // X[3] - i, 0), N_2 // X[3] + 1): +                N_3 = N_2 - X[3] * i_3 +                for i_4 in range(max(N_3 // X[4] - i, 0), N_3 // X[4] + 1): +                    N_4 = N_3 - X[4] * i_4 +                    for i_5 in range(max(N_4 // X[5] - i, 0), N_4 // X[5] + 1): +                        N_5 = N_4 - X[5] * i_5 +                        for i_6 in range(max(N_5 // X[6] - i, 0), N_5 // X[6] + 1): +                            N_6 = N_5 - X[6] * i_6 +                            for i_7 in range(max(N_6 // X[7] - i, 0), N_6 // X[7] + 1): +                                N_7 = N_6 - X[7] * i_7 +                                for i_8 in range( +                                    max(N_7 // X[8] - i, 0), N_7 // X[8] + 1 +                                ): +                                    N_8 = N_7 - X[8] * i_8 +                                    for i_9 in range( +                                        max(N_8 // X[9] - i, 0), N_8 // X[9] + 1 +                                    ): +                                        N_9 = N_8 - X[9] * i_9 +                                        i_10 = N_9 // 6 +                                        N_10 = N_9 - X[10] * i_10 +                                        if ( +                                            ANS +                                            > i_0 +                                            + i_1 +                                            + i_2 +                                            + i_3 +                                            + i_4 +                                            + i_5 +                                            + i_6 +                                            + i_7 +                                            + i_8 +                                            + i_9 +                                            + i_10 +                                            + N_10 +                                        ): +                                            ANS = ( +                                                i_0 +                                                + i_1 +                                                + i_2 +                                                + i_3 +                                                + i_4 +                                                + i_5 +                                                + i_6 +                                                + i_7 +                                                + i_8 +                                                + i_9 +                                                + i_10 +                                                + N_10 +                                            ) +print(ANS)