use proconio::*; fn main(){ input!{ n: usize, k: usize} let mut dp1 = vec![vec![0.; 6*n+1]; n+1]; dp1[0][0]=1.; for i in 0..n{ for j in 0..=6*i{ for k in 1..=6{ dp1[i+1][j+k]+=dp1[i][j]/6.; } } } let mut dp2= vec![vec![0_f64; 6*n+1]; n+1]; dp2[0][0]=1.; for i in 0..k{ for j in 0..=6*i{ for k in 4..=6{ dp2[i+1][j+k]+=dp2[i][j]/3.; } } } for i in k..n{ for j in 0..=6*i{ for k in 1..=6{ dp2[i+1][j+k]+=dp2[i][j]/6.; } } } let mut ans=0.; for i in 0..=6*n{ for j in i+1..=6*n{ ans+=dp1[n][i]*dp2[n][j]; } } println!("{:.10}", ans); }