// yukicoder: No.793 うし数列 2 // 2019.5.5 bal4u #include #define M 1000000007 #define INV3 333333336 // inverse(3) int bigPow(int x, int p) { int r = 1; while (p) { if (p & 1) r = (long long)r * x % M; x = (long long)x * x % M; p >>= 1; } return r; } int main() { int a; long long N; scanf("%lld", &N); a = bigPow(10, N%(M-1)); printf("%d\n", (a+(((long long)a + M-1)%M * INV3)%M)%M); return 0; }