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 Java (OpenJDK 11.0.6) (judge verdict: Wrong Answer)

import java.util.*;
import java.io.*;

public class Main {
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        List<Integer> list = new ArrayList<Integer>();
        final long MOD = 1000000000+7;
        long n = sc.nextInt();
        long a=1; //10^n : a
        long b=1; //9^n : b
        long c=1; //8^n : c
        //=====================================
        //全通りの組み合わせ            10^n :a
        //1~9(9種)のみの組み合わせ      9^n :b
        //0,2~9(9種)のみの組み合わせ    9^n :b
        //2~9(8種)のみの組み合わせ      8^n :c
        //10種-8種-(9種-8種)-(9種-8種) : a-c-(b-c)*2 : a-2b+c
        //=====================================
        for(long i=0;i<n;i++){
            a*=10;
            b*=9;
            c*=8;
            a%=MOD;
            b%=MOD;
            c%=MOD;
        }
        if(a<0)a+=MOD;
        if(b<0)b+=MOD;
        if(c<0)c+=MOD;
        //System.out.println(a);
        //System.out.println(b);
        //System.out.println(c);
        long x = (a-2*b+c)%MOD;
        System.out.println(a-2*b+c);
    }
}

class Monmo {
    
}