using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { class Program { private static int input; static void Main(string[] args) { input = int.Parse(Console.ReadLine()); dp = new long[input]; long ans = dpdfs(0); //出力 Console.WriteLine(ans); } //ダイナミックプログラミング //dfsの処理を高速化 //input:ゴールのマス //val:現在のマス private static long[] dp; static long dpdfs(int val) { //ゴールに到達 if (val == input) return 1; //ゴールを通過 if (val > input) return 0; if (dp[val] != 0) return dp[val]; for (int i = 0; i <= 1; i++) { dp[val] += dpdfs(val + 2 - i); } return dp[val]; } } }