#include #define rep(i,n) for (int i = 0; i < (n); ++i) #define chmax(a, b) a = max(a, b) #define chmin(a, b) a = min(a, b) #define all(x) (x).begin(), (x).end() using namespace std; using ll = long long; using P = pair; using VI = vector; using VVI = vector; int n, k; int c1[61], c2[61]; void dfs1(int m=0, int acc=0) { if (m == n) { c1[acc] += 1; return; } for(int i = 1; i <= 6; i++) dfs1(m+1, acc+i); } void dfs2(int m=0, int acc=0) { if (m == n) { c2[acc] += 1; return; } if (m < k) for(int i: {4,4,5,5,6,6}) dfs2(m+1, acc+i); else for(int i = 1; i <= 6; i++) dfs2(m+1, acc+i); } int main() { cin >> n >> k; dfs1(); dfs2(); for(int i = 59; i >= 0; i--) c2[i] += c2[i+1]; ll wincnt = 0; rep(i, 60) wincnt += ll(c1[i]) * c2[i+1]; ll totcnt = 1; rep(_, 2*n) totcnt *= 6; printf("%.8f\n", double(wincnt) / totcnt); }