const val MOD = 1000000007 fun powMod(base: Long, exp: Int): Long { var b = base % MOD var e = exp var result = 1L while (e > 0) { if ((e and 1) == 1) { result = result * b % MOD } b = b * b % MOD e = e shr 1 } return result } fun main() { val n = readLine()!!.trim().toInt() val count = LongArray(16).also { it[0] = 1L } var result = 0L for (i in 0 until n) { val from = count.copyOf() count.fill(0) for (i in 0 until 16) { count[(i shl 1) and 15] += from[i] count[((i shl 1) + 1) and 15] += from[i] } for (i in 0 until 16) { count[i] = count[i] % MOD } result += count[10] * powMod(2L, n - i - 1) % MOD count[10] = 0 } result %= MOD println(result) }