#include using namespace std; const double pi = 2 * acos(0.0); const double eps = 1e-8; #define REP(i,a,b) for(int i=(a); i<(b);++i) #define rep(i,n) REP(i,0,n) #define INF (1<<29) #define INFLL (1L<<29) typedef long long ll; typedef unsigned long long ull; typedef pair pii; typedef pair pll; typedef int Cost; struct Edge { int src, dst; Cost cost; Edge(int s, int d, Cost c) : src(s), dst(d), cost(c) {} }; typedef vector Edges; typedef vector Graph; typedef vector Array; typedef vector Matrix; int dx[8] = {0, 1, 0, -1, 1, -1, 1, -1}; int dy[8] = {1, 0, -1, 0, 1, -1, -1, 1}; double p, q; double solve(int p, int depth) { if (depth > 20) return 1; double tmp1; if (p - q < 0) tmp1 = solve(0, depth + 1); else tmp1 = solve(p - q, depth + 1); double tmp2; if (p + q > 1) tmp2 = solve(1, depth + 1); else tmp2 = solve(p + q, depth + 1); double _p = (p + 2 + 3 * p * tmp1 + 2 * tmp2 - 2 * p * tmp2) / 6.0; return _p; } int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); cin >> p >> q; p /= 100; q /= 100; cout << fixed << setprecision(10) << (1.0 + solve(p, 0)) / 3 << endl; return 0; }