# coding:UTF-8 import sys MOD = 10 ** 9 + 7 INF = float('inf') # 拡張ユークリッド互除法 # ax + by = g def extGcd(a, b): if b == 0: return [a, 1, 0] else: g, x, y = extGcd(b, a%b) return [g, int(y), int(x - (a // b) * y)] # 逆元 def inv(a): r = extGcd(a, MOD) return r[1] % MOD def comb(n, k): if n < k: return 0 elif n < 0 or k < 0: return 0 a = 1 for i in range(k): a = a * (n - i) % MOD b = 1 for i in range(1, k+1): b = b * i % MOD binv = inv(b) return (a * binv) % MOD N = int(input()) # 数字 res = 1 for i in range(1, 10): t = comb(9, i) # t2 = 0 # for j in range(1, N+1): # t2 = (t2 + comb(j-1, i-1, f)) % MOD t2 = comb(N, i) res = (res + t * t2) % MOD print("{}".format(res))