use std::io::*; fn main() { let mut s: String = String::new(); std::io::stdin().read_to_string(&mut s).ok(); let mut itr = s.trim().split_whitespace(); let n: usize = itr.next().unwrap().parse().unwrap(); let k: usize = itr.next().unwrap().parse().unwrap(); let mut dp1: Vec = vec![0.0; 101]; let mut dp2: Vec = vec![0.0; 101]; dp1[0] = 1.0; dp2[0] = 1.0; for _ in 0..n - k { let mut tmp = vec![0.0; 101]; for i in 0..80 { for j in 1..7 { tmp[i + j] += dp1[i] / 6.0; } } dp1 = tmp; } for _ in 0..k { let mut tmp = vec![0.0; 101]; for i in 0..80 { for j in 4..7 { tmp[i + j] += dp1[i] / 3.0; } } dp1 = tmp; } for _ in 0..n { let mut tmp = vec![0.0; 101]; for i in 0..80 { for j in 1..7 { tmp[i + j] += dp2[i] / 6.0; } } dp2 = tmp; } let mut ans = 0.0; for i in 0..80 { for j in 0..i { ans += dp1[i] * dp2[j]; } } println!("{:.10}", ans); }