#include using namespace std; double p(int x){ double ans = 1; for (int i = 0; i < x; i++){ ans /= x; } return ans; } int main(){ cout << fixed << setprecision(10); long long A, B; cin >> A >> B; if (A == 0 && B == 0){ cout << p(2) << endl; return 0; } A = abs(A); B = abs(B); long long g = __gcd(A, B); A /= g; B /= g; if (A % 2 == 1 && B % 2 == 1){ double ans = 0; for (int i = 1; i <= 100; i++){ for (int j = 1; j <= 100; j++){ if ((i - 1) % g == 0 && (j - 1) % g == 0){ if (abs(i - j) % (g * 2) == 0){ ans += p(i + j); } } } } cout << ans << endl; } else { double ans = 0; for (int i = 1; i <= 100; i++){ for (int j = 1; j <= 100; j++){ if ((i - 1) % g == 0 && (j - 1) % g == 0){ ans += p(i + j); } } } cout << ans << endl; } }