using System; using System.Collections.Generic; using System.Collections; using System.Linq; using System.Text; using sc = Scanner; class Program { static void Main(string[] args) { Solve(); #if DEBUG System.Console.WriteLine("続行するには何かキーを押してください..."); System.Console.ReadKey(); #endif } /// /// ここでとく /// static void Solve() { int k = sc.NextInt(); double[] dp = new double[21]; dp[1] = 1.0; dp[2] = 1.0 + (dp[1])/6; dp[3] = 1.0 + (dp[1]+dp[2]) / 6; dp[4] = 1.0 + (dp[1]+dp[2]+dp[3]) / 6; dp[5] = 1.0 + (dp[1]+dp[2]+dp[3]+dp[4]) / 6; dp[6] = 1.0 + (dp[1]+dp[2]+dp[3]+dp[4]+dp[5]) / 6; for (int i = 7; i < 21; i++) { dp[i] = 1.0 + (dp[i - 1] + dp[i - 2] + dp[i - 3] + dp[i - 4] + dp[i - 5] + dp[i - 6]) / 6; } Console.WriteLine(dp[k]); } } /// /// Java風のスキャナー,自作(某最速の人を参考) /// public static class Scanner { public static string NextString() { string tmp = ""; while (true) { string readData = char.ConvertFromUtf32(Console.Read()); if (readData == " " || readData == "\n") break; tmp += readData; } return tmp; } public static string[] NextStrArray() { return Console.ReadLine().Split(' '); } public static long[] NextLongArray() { string[] s = NextStrArray(); long[] a = new long[s.Length]; for (int i = 0; i < a.Length; i++) { a[i] = long.Parse(s[i]); } return a; } public static int[] NextIntArray() { string[] s = NextStrArray(); int[] a = new int[s.Length]; for (int i = 0; i < a.Length; i++) { a[i] = int.Parse(s[i]); } return a; } public static int NextInt() { string tmp = ""; while (true) { string readData = char.ConvertFromUtf32(Console.Read()); if (readData == " " || readData == "\n") break; tmp += readData; } return int.Parse(tmp); } public static double NextDouble() { string tmp = ""; while (true) { string readData = char.ConvertFromUtf32(Console.Read()); if (readData == " " || readData == "\n") break; tmp += readData; } return double.Parse(tmp); } public static long NextLong() { string tmp = ""; while (true) { string readData = char.ConvertFromUtf32(Console.Read()); if (readData == " " || readData == "\n") break; tmp += readData; } return long.Parse(tmp); } public static double[] NextDoubleArray() { string[] s = NextStrArray(); double[] a = new double[s.Length]; for (int i = 0; i < a.Length; i++) { a[i] = double.Parse(s[i]); } return a; } }