#include <bits/stdc++.h>
using namespace std;
double dp[2][5000][205];
int hp[2], dt[2], l[2], r[2], p[2];
void generate(int z) {
  memset(dp[z], 0, sizeof(dp[z]));
  dp[z][0][hp[z]] = 1.0;
  int low = hp[z] - r[z ^ 1];
  for (int t = 0; t < 5000; t++)
    if (t) {
      double s = 0;
      for (int i = hp[z]; i >= low; i--) {
        if (i == 0) {
          dp[z][t][i] = dp[z][t - 1][i];
          for (int k = 1; k <= r[z ^ 1]; k++)
            dp[z][t][i] += (i + k <= hp[z] ? dp[z][t - 1][i + k] : 0.0) *
                           (r[z ^ 1] - max(k, l[z ^ 1]) + 1) /
                           (r[z ^ 1] - l[z ^ 1] + 1) * (100 - p[z ^ 1]) / 100.0;
        } else {
          dp[z][t][i] = dp[z][t - 1][i] * (p[z ^ 1] / 100.0);
          s += (i + l[z ^ 1] <= hp[z] ? dp[z][t - 1][i + l[z ^ 1]] : 0.0) *
               1.0 / (r[z ^ 1] - l[z ^ 1] + 1) * (100 - p[z ^ 1]) / 100.0;
          dp[z][t][i] += s;
          s -= (i + r[z ^ 1] <= hp[z] ? dp[z][t - 1][i + r[z ^ 1]] : 0.0) *
               1.0 / (r[z ^ 1] - l[z ^ 1] + 1) * (100 - p[z ^ 1]) / 100.0;
        }
      }
      low = max(0, low - r[z ^ 1]);
    }
}
int main() {
  for (int i = 0; i < 2; i++) cin >> hp[i] >> dt[i] >> l[i] >> r[i] >> p[i];
  if (p[0] == 100) {
    cout << "0.00000000000000" << endl;
    return 0;
  } else if (p[1] == 100) {
    cout << "1.00000000000000" << endl;
    return 0;
  }
  generate(0);
  generate(1);
  double prob_win = 0;
  for (int t = 0; t < 5000; t++)
    if (t) {
      int new_t = (t - 1) * dt[1] / dt[0] + 1;
      double v = (dp[0][t][0] - dp[0][t - 1][0]) *
                 (new_t < 5000 ? dp[1][new_t][0] : 1.0);
      prob_win += v;
    }
  printf("%0.9lf\n", prob_win);
}
