import sys



readline = sys.stdin.readline

MOD = 10 ** 9 + 7

INF = float('INF')

sys.setrecursionlimit(10 ** 5)





def main():

    N = int(readline())



    ans = 10 ** N - 2 * 9 ** N + 8 ** N

    print((ans % MOD))





if __name__ == '__main__':

    main()

MOD = 10 ** 9 + 7



N = int(eval(input()))



ans = pow(10, N, MOD)

ans -= 2 * pow(9, N, MOD)

ans += pow(8, N, MOD)

ans %= MOD # 最後にMODを取り忘れないように気をつけましょう



print(ans)
import sys

readline = sys.stdin.readline
MOD = 10**9 + 7
INF = float("INF")
sys.setrecursionlimit(10**5)


def main():
    N = int(readline())
    ans = 10**N - 2 * 9**N + 8**N
    print((ans % MOD))


if __name__ == "__main__":
    main()

MOD = 10**9 + 7
N = int(eval(input()))
ans = pow(10, N, MOD)
ans -= 2 * pow(9, N, MOD)
ans += pow(8, N, MOD)
ans %= MOD  # 最後にMODを取り忘れないように気をつけましょう
print(ans)

-import sys - -readline = sys.stdin.readline -INF = float("INF") -sys.setrecursionlimit(10**5) - - -def main(): -    N = int(readline()) -    ans = 10**N - 2 * 9**N + 8**N -    print((ans % MOD)) - - -if __name__ == "__main__": -    main() +N = int(eval(input())) +ans = pow(10, N, MOD) +ans -= 2 * pow(9, N, MOD) +ans += pow(8, N, MOD) +ans %= MOD  # 最後にMODを取り忘れないように気をつけましょう +print(ans)