#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define rep(x, to) for (int x = 0; x < (to); x++) #define REP(x, a, to) for (int x = (a); x < (to); x++) #define foreach(itr, x) for (typeof((x).begin()) itr = (x).begin(); itr != (x).end(); itr++) using namespace std; typedef long long ll; typedef pair PII; typedef pair PLL; ll a[] = {2,3,5,7,11,13}; ll b[] = {4,6,8,9,10,12}; map freq1, freq2; void dfs1(ll n, ll p) { if (n == 0) { freq1[p] += 1; } else { rep(i, 6) { dfs1(n-1, p * a[i]); } } } void dfs2(ll n, ll p) { if (n == 0) { freq2[p] += 1; } else { rep(i, 6) { dfs2(n-1, p * b[i]); } } } ll P, C; double A = 0.0; double B = 1.0; int main() { cin >> P >> C; rep(i, P+C) B *= 6.0; dfs1(P, 1); dfs2(C, 1); foreach(i, freq1) { foreach(j, freq2) { //printf("%lld=%lld %lld=%lld\n", i->first, i->second, j->first, j->second); A += (i->first * j->first) * (i->second * j->second); } } printf("%.12lf\n", A / B); return 0; }