use std::cmp::min; fn main() { let mut k = String::new(); std::io::stdin().read_line(&mut k).ok(); let k: usize = k.trim().parse().unwrap(); let mut result: Vec = vec![0; k+1]; result[0] = 1; let mut e: f64 = 0.0; for i in 1..=k { for j in (0..k).rev() { if result[j] == 0 { continue; } for d in 1..=6 { let count = result[j]; let nextval = min(k, j + d); result[nextval] += count; } result[j] = 0; } e += (i * result[k]) as f64 / (6usize.pow(i as u32) as f64); result[k] = 0; } println!("{:.4}", e); }