fn main() { let stdin = std::io::read_to_string(std::io::stdin().lock()).unwrap(); let mut stdin = stdin.split_ascii_whitespace(); let n: usize = stdin.next().unwrap().parse().unwrap(); use std::io::Write; std::io::stdout() .lock() .write_all(output(solve(n)).as_bytes()) .unwrap(); } fn solve(n: usize) -> f64 { let mut dp = [[0.0; 1 << 6]; 2]; dp[0][0] = 1.0; (0..n).for_each(|i| { dp[(i & 1) ^ 1].fill(0.0); (0..(1 << 6)) .for_each(|j| (0..6).for_each(|k| dp[(i & 1) ^ 1][j | (1 << k)] += dp[i & 1][j] / 6.0)) }); dp[n & 1][(1 << 6) - 1] } fn output(ans: f64) -> String { ans.to_string() + "\n" }