#include <bits/stdc++.h>
using namespace std;
const int N = 5e3 + 5;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9 + 7;
double dp[N][N], p[N], pw[N];
int t[N];
int n, T;
double Pow(double x, int n) {
  double ret = 1;
  for (; n; n >>= 1) {
    if (n & 1) ret *= x;
    x = x * x;
  }
  return ret;
}
int main() {
  scanf("%d%d", &n, &T);
  for (int i = 1; i <= n; ++i) {
    scanf("%lf%d", &p[i], &t[i]);
    p[i] /= 100;
    pw[i] = Pow(1.0 - p[i], t[i] - 1);
  }
  dp[0][0] = 1.0;
  for (int i = 1; i <= n; ++i) {
    double pre = 0, tmp = 1.0;
    bool fir = true;
    for (int j = 1; j <= T; ++j) {
      if (t[i] == 1) {
        dp[i][j] = dp[i - 1][j - 1];
        continue;
      }
      int k = (j - 1) - t[i] + 1;
      if (k >= 0) {
        if (fir)
          tmp = Pow(1.0 - p[i], (j - 1) - k - 1);
        else
          tmp *= (1.0 - p[i]);
        pre -= dp[i - 1][k] * tmp * p[i];
      }
      pre *= (1.0 - p[i]);
      pre += dp[i - 1][j - 1] * p[i];
      dp[i][j] += pre;
      if (j >= t[i]) dp[i][j] += dp[i - 1][j - t[i]] * pw[i];
    }
  }
  double ans = 0;
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= T; ++j) ans += dp[i][j];
  printf("%.8f\n", ans);
  return 0;
}
