#include #include template std::vector vec(int len, T elem) { return std::vector(len, elem); } using lint = unsigned long long; void solve() { int n; std::cin >> n; // 3 has appeared, modulo 3 auto dp = vec(2, vec(3, 0LL)); dp[0][0] = 1; while (n--) { auto ndp = vec(2, vec(3, 0LL)); for (int f = 0; f < 2; ++f) { for (int r = 0; r < 3; ++r) { for (int d = 0; d <= 9; ++d) { int nf = f || (d == 3); int nr = (r + d) % 3; ndp[nf][nr] += dp[f][r]; } } } std::swap(dp, ndp); } lint ans = 0; for (int f = 0; f < 2; ++f) ans += dp[f][0]; for (int r = 0; r < 3; ++r) ans += dp[1][r]; ans -= dp[1][0]; --ans; // 0 std::cout << ans << "\n"; } int main() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); solve(); return 0; }