AtCoder Beginner Contest 178 C - Ubiquity【Python】

https://atcoder.jp/contests/abc178/tasks/abc178_c

AtCoder ProblemsのRecommendationでDifficulty: 653、Solve Probability: 41%でした。
検索したところ異なるn個のものから重複を許してr個並べるのはn**r通りあるとわかり、各集合が何通りあるかを調べて答えを求めました。

MOD = 10 ** 9 + 7

N = int(input())

print((10 ** N % MOD - (9 ** N % MOD * 2 - 8 ** N % MOD)) % MOD )