roll := proc(n) local k, r, d, m; r := []; for k from 6^(n+1) to 6^(n+1)+6^n-1 do d := convert(k, base, 6); r := [op(r), [seq(d[m], m=1..n)]]; od; r; end; gain := proc(l) local c, pos, s; c := 0; s := 0; for pos to nops(l) do if l[pos] = 5 then c := c+1; else if c > 0 then s := s + 6^(c+2); fi; c := 0; fi od; if c > 0 then s := s + 6^(c+2); fi; s; end; expgain := proc(n) option remember; local r, s; s := 0; for r in roll(n) do s := s + gain(r); od; s/6^n; end;