#include <bits/stdc++.h>
using namespace std;
double dp[5010][5010], p[5010];
double qPow1[5010], qPow2[5010];
int tguess[5010];
int main() {
  int ni, nt;
  cin >> ni >> nt;
  for (int i = 0; i < ni; ++i) {
    cin >> p[i] >> tguess[i];
    p[i] /= double(100);
  }
  for (int i = 0; i < ni; ++i) {
    qPow1[i] = pow(double(1) - p[i], tguess[i] - 1);
    qPow2[i] = pow(double(1) - p[i], tguess[i] - 2);
  }
  for (int i = ni - 1; i >= 0; --i)
    for (int t = 0; t <= nt; ++t) {
      double& r = dp[i][t];
      r = 0;
      if (t == 0) {
      } else if (p[i] < 1e-10) {
        if (t - tguess[i] >= 0)
          r = (i + 1 < ni ? double(1) + dp[i + 1][t - tguess[i]] : 1);
      } else if (p[i] + 1e-10 > double(100))
        r = (i + 1 == ni ? 1 : double(1) + dp[i + 1][t - 1]);
      else if (i + 1 == ni) {
        double powQ = 1;
        for (int k = 1; k <= tguess[i] && k <= t; ++k) {
          if (k == tguess[i])
            r += powQ;
          else
            r += powQ * p[i];
          powQ *= (double(1) - p[i]);
        }
      } else {
        r = dp[i][t - 1];
        if (t - 1 - tguess[i] >= 0)
          r -= qPow1[i] * (dp[i + 1][t - 1 - tguess[i]] + double(1));
        if (t >= tguess[i] && tguess[i] - 2 >= 0 && t - tguess[i] >= 0)
          r -= p[i] * qPow2[i] * (dp[i + 1][t - tguess[i]] + double(1));
        r *= (1 - p[i]);
        if (t - 1 >= 0 && tguess[i] != 1)
          r += p[i] * (dp[i + 1][t - 1] + double(1));
        if (t - tguess[i] >= 0)
          r += qPow1[i] * (dp[i + 1][t - tguess[i]] + double(1));
      }
    }
  printf("%.10lf\n", dp[0][nt]);
  return 0;
}
