#include <bits/stdc++.h>
using namespace std;
const int ATTACK = 5000, MAXHP = 205;
int hp[2], tt[2], ll[2], rr[2];
double fail[2], dp[2][MAXHP], mul[2];
void update(int t) {
  for (int h = 0; h <= hp[t]; h++)
    if (dp[t][h] > 1e-9) {
      int vt = t ^ 1, len = rr[vt] - ll[vt] + 1;
      double cur = dp[t][h];
      dp[t][h] = 0.0;
      for (int dmg = ll[vt]; dmg <= rr[vt]; dmg++)
        dp[t][max(0, h - dmg)] += cur * mul[vt];
      dp[t][h] += fail[vt] * cur;
    }
}
int main() {
  for (int t = 0; t < 2; t++) {
    scanf("%d %d %d %d %lf", hp + t, tt + t, ll + t, rr + t, fail + t);
    if (fail[t] == 100) {
      cout << t << endl;
      return 0;
    }
    mul[t] = (1.0 - 0.01 * fail[t]) / (rr[t] - ll[t] + 1);
  }
  fail[0] /= 100;
  fail[1] /= 100;
  for (int t = 0; t < 2; t++)
    for (int h = 0; h <= hp[t]; h++) dp[t][h] = 0.0;
  dp[0][hp[0]] = 1.0;
  dp[1][hp[1]] = 1.0;
  double res = 0.0;
  int att0 = 0, att1 = 0;
  while (att0 < ATTACK) {
    dp[1][0] = 0.0;
    update(1);
    att0++;
    double killEnemy = dp[1][0];
    int nAtt1 = (tt[0] * (att0 - 1) + tt[1] - 1) / tt[1];
    for (; att1 < nAtt1 && att1 < ATTACK; att1++) update(0);
    double alive = 1.0 - dp[0][0];
    double add = killEnemy * alive;
    res += add;
  }
  printf("%.12f\n", res);
  return 0;
}
