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 Go (1.14.1) (judge verdict: Accepted)

package main

import (
	"fmt"
)

func main() {
	var n int
	fmt.Scan(&n)
	const mod = int(1e9 + 7)

	k8, k9, k10 := 1, 1, 1
	for i := 0; i < n; i++ {
		k8 *= 8
		k8 %= mod
		k9 *= 9
		k9 %= mod
		k10 *= 10
		k10 %= mod
	}
	ans := (k10 - k9*2 + k8) % mod
	if ans < 0 {
		ans += mod
	}
	fmt.Println(ans)
}

func min(a, b int) int {
	if a < b {
		return a
	}
	return b
}

func max(a, b int) int {
	if a > b {
		return a
	}
	return b
}

func abs(a int) int {
	if a < 0 {
		return -a
	}
	return a
}