package Practice; import java.io.BufferedReader; import java.io.InputStreamReader; public class B10844_2 { //½¬¿î °è´Ü ¼ö, ÀÏÀÇ ÀÚ¸´¼öºÎÅÍ ½ÃÀÛ(Bottom-Up) public static void main(String[] args) throws Exception { // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()), mod = 1000000000; int[][] dp = new int[N + 1][10]; //°¡Àå Å« ÀÚ¸´¼ö, Áï °¡Àå ¾Õ¿¡ ÀÖ´Â ¼ýÀÚ for(int i = 1; i < 10; i++) dp[1][i] = 1; //½ÊÀÇ ÀÚ¸´¼ö¿¡¼­ ½ÃÀÛÇØ¼­ °¡Àå Å« ÀÚ¸´¼ö°¡ µÇ¸é ¹Ýº¹¹®À» Á¾·áÇÑ´Ù. //µÚÀÇ ÀÚ¸´°ª¿¡ 0ÀÌ µé¾î°¡·Á¸é, ¾ÕÀÇ ÀÚ¸® ¼ýÀÚ°¡ 1ÀÌ¿©¾ß ÇÑ´Ù. //µÚÀÇ ÀÚ¸´°ª¿¡ 9°¡ µé¾î°¡·Á¸é, ¾ÕÀÇ ÀÚ¸® ¼ýÀÚ°¡ 8ÀÌ¿©¾ß ÇÑ´Ù. //µÚÀÇ ÀÚ¸´°ª¿¡ 1~8±îÁö°¡ µé¾î°¡·Á¸é, ¾ÕÀÇ ÀÚ¸® ¼ýÀÚ´Â (µÚÀÇ ÀÚ¸´°ª - 1)°ú (µÚÀÇ ÀÚ¸´°ª + 1)ÀÌ´Ù. //¿©±â¼­ i´Â ÀÚ¸´¼ö¸¦ ÀǹÌÇϰí, j´Â µÚÀÇ ÀÚ¸´°ª¸¦ ÀǹÌÇÑ´Ù. //i - 1Àº ¾ÕÀÇ ÀÚ¸´¼öÀÌ´Ù. for(int i = 2; i <= N; i++) { for(int j = 0; j < 10; j++) { if(j == 0) dp[i][j] = dp[i - 1][1]; else if(j == 9) dp[i][j] = dp[i - 1][8]; else dp[i][j] = (dp[i - 1][j - 1] + dp[i - 1][j + 1]) % mod; } } //res¸¦ ¸¶Áö¸· ÀÚ¸´°ªÀÇ 0~9¸¦ ¸ðµÎ ´õÇØÁØ´Ù. long res = 0; for(int i = 0; i < 10; i++) res += dp[N][i]; System.out.println(res % mod); } }