# coding: utf-8 # 前回までの目の合計ごとのパターン数 pr # 今回振るさいころの目 rolls # 今回振った後の目の合計ごとのパターン数 戻り値 # pr 0 1 1 1 1 1 1 # rolls # 1 0 1 1 1 1 1 1 # 2 0 1 1 1 1 1 1 # 3 0 1 1 1 1 1 1 # 4 0 1 1 1 1 1 1 # 5 0 1 1 1 1 1 1 # 6 0 1 1 1 1 1 1 # ret 0 1 2 3 4 5 6 6 5 4 3 2 1 # pr 0 1 1 1 1 1 1 # rolls # 4 0 1 1 1 1 1 1 # 5 0 1 1 1 1 1 1 # 6 0 1 1 1 1 1 1 # 4 0 1 1 1 1 1 1 # 5 0 1 1 1 1 1 1 # 6 0 1 1 1 1 1 1 # ret 0 0 0 0 0 2 4 6 6 6 6 4 2 def dice(pr,rolls): padding=[0]*len(rolls) return map(sum,zip(*[padding[:i]+pr+padding[i:] for i in rolls])) n=input() k=input() jiro=[1]#さいころを0回振ったときに出る目(index)の合計のパターン数・・・0が1回のみ for _ in range(n): jiro=dice(jiro,range(1,7)) taro=[1] for _ in range(n-k): taro=dice(taro,range(1,7)) for _ in range(k): taro=dice(taro,range(4,7)*2) v=0 jiro_sum=[0]#目の合計がindex以下になるパターン数 for i in jiro: v+=i jiro_sum.append(v) print float(sum([x*y for x,y in zip(jiro_sum,taro)]))/6**(2*n)#太郎が勝つパターン数/全パターン数