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: Accepted)

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

public class Main{
	public static void main(String[] args)throws IOException{
		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
		BigInteger md = BigInteger.valueOf(1000000007);
		BigInteger ten = BigInteger.valueOf(10);
		BigInteger nine = BigInteger.valueOf(9);
		BigInteger eight = BigInteger.valueOf(8);
		BigInteger n = BigInteger.valueOf(N);
		BigInteger sub1 = ten.modPow(n, md);
		sub1 = sub1.subtract(eight.modPow(n, md));
		BigInteger sub2 = nine.modPow(n, md);
		sub2 = sub2.subtract(eight.modPow(n, md));
		sub1 = sub1.subtract(sub2.multiply(BigInteger.valueOf(2)));
		sub1 = sub1.mod(md);
	//	long seq = (long)((Math.pow(10, N) - Math.pow(8, N)) - 2 * (Math.pow(9, N) - Math.pow(8, N)));
		System.out.println(sub1.toString());
	}
}