#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9;
const double eps = 1e-6;
const int N = 5010;
int cas = 1;
int n, T, t[N];
double p[N], q[N], dp[N][N];
double pass[N];
void force() {
  dp[0][0] = 1.0;
  memset(pass, 0, sizeof(pass));
  for (int i = 1; i <= n; i++) {
    dp[i][0] = 0;
    for (int j = 1; j <= n; j++) {
      dp[i][j] = 0;
      if (j - t[i] >= 0) dp[i][j] += dp[i - 1][j - t[i]] * pow(q[i], t[i] - 1);
      for (int k = 1; k < t[i]; k++) {
        if (j - k < 0) break;
        dp[i][j] += dp[i - 1][j - k] * pow(q[i], k - 1) * p[i];
      }
      pass[i] += dp[i][j];
    }
  }
  pass[0] = 1;
}
void work() {
  dp[0][0] = 1.0;
  memset(pass, 0, sizeof(pass));
  for (int i = 1; i <= n; i++) {
    dp[i][0] = 0;
    double qq = 1.0;
    for (int k = 1; k < t[i]; k++) qq *= q[i];
    for (int j = 0; j < T; j++) {
      bool flag = (i == 1 && j == 1);
      dp[i][j + 1] = dp[i][j] * q[i] + dp[i - 1][j] * p[i];
      if (j - t[i] >= 0) dp[i][j + 1] -= dp[i - 1][j - t[i]] * qq * q[i];
      if (j - t[i] + 1 >= 0)
        dp[i][j + 1] -= dp[i - 1][j - t[i] + 1] * qq * (p[i] - 1);
      pass[i] += dp[i][j + 1];
    }
  }
}
void run() {
  memset(dp, 0, sizeof(dp));
  int i, j, k;
  for (i = 1; i <= (n); i++) {
    cin >> p[i] >> t[i];
    p[i] /= 100;
    q[i] = 1 - p[i];
  }
  work();
  double ans = 0.0;
  for (i = 1; i <= n; i++) ans += i * (pass[i] - pass[i + 1]);
  printf("%.9f\n", ans);
}
int main() {
  while (cin >> n >> T) run();
  return 0;
}
