Problem:
Score : 300 points

Problem Statement

How many integer sequences A_1,A_2,\ldots,A_N of length N satisfy all of the following conditions?

0 \leq A_i \leq 9

There exists some i such that A_i=0 holds.

There exists some i such that A_i=9 holds.

The answer can be very large, so output it modulo 10^9 + 7.

Constraints

1 \leq N \leq 10^6

N is an integer.

Input

Input is given from Standard Input in the following format:

N

Output

Print the answer modulo 10^9 + 7.

Sample Input 1

2

Sample Output 1

2

Two sequences \{0,9\} and \{9,0\} satisfy all conditions.

Sample Input 2

1

Sample Output 2

0

Sample Input 3

869121

Sample Output 3

2511445

Solution in C++ (Clang 10.0.0) (judge verdict: Wrong Answer)

/* 
 * Project: AtCoder Beginners Contest 178 C - Ubiquity
 * Author: toms74209200 <https://github.com/toms74209200>
 *
 * Created on 2020/09/13
 * Copyright (c) 2020 toms74209200
 * 
 * This software is released under the MIT License.
 * http://opensource.org/licenses/mit-license.php
 */
#include <cstdio>
#include <cstdint>
using namespace std;

uint_fast64_t n;

uint_fast64_t powmod(uint_fast64_t x, uint_fast64_t y) {
    uint_fast64_t result = 1;
    for (uint_fast64_t i=0;i<y;i++) {
        result = result * x%1000000007;
    }
    return result;
}

void solve() {

    if (n < 2) {
        printf("%d\n", 0);
        return;
    }
    uint_fast64_t result = powmod(10, n) - powmod(9, n) - powmod(9, n) + powmod(8, n);
    result = result%1000000007;
    result = (result+1000000007)%1000000007;
    printf("%llu\n", result);
}

int main() {

    scanf("%lld", &n);

    solve();
}