#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:100000000000,100000000000")
using namespace std;
const double eps = 1E-15;
const double Exp = 2.718281828459045;
const double Pi = 3.1415926535897932;
const int NMAX = 5000 + 5;
const int MMAX = 100000 + 5;
const int INF = 1000000000;
const int BASE = 1000000007;
template <typename T>
inline T abs(const T a) {
  if (a < 0) return -a;
  return a;
}
template <typename T>
inline T sqr(const T& a) {
  return a * a;
}
int main() {
  ios::sync_with_stdio(false);
  int n, T;
  int i, j;
  int t[NMAX];
  double p[NMAX];
  static double sum[2][NMAX] = {0};
  static double dp[2][NMAX] = {0};
  cin >> n >> T;
  for (i = 1; i <= n; i++) {
    cin >> p[i] >> t[i];
    p[i] /= 100;
  }
  p[0] = 1;
  t[0] = 0;
  dp[0][0] = 1;
  sum[0][0] = 1;
  for (j = 1; j <= T; j++) {
    sum[0][j] = sum[0][j - 1] * (1 - p[1]);
    if (sum[0][j] < eps) {
      sum[0][j] = 0;
      break;
    }
  }
  cout.precision(8);
  double x;
  double res = 0;
  for (i = 1; i <= n; i++) {
    x = pow(1 - p[i], t[i] - 1);
    for (j = i; j <= T; j++) {
      if (j >= t[i])
        dp[1][j] =
            dp[0][j - t[i]] * x + (sum[0][j - 1] - sum[0][j - t[i]] * x) * p[i];
      else
        dp[1][j] = (sum[0][j - 1]) * p[i];
      sum[1][j] = sum[1][j - 1] * (1 - p[i + 1]) + dp[1][j];
      if (sum[1][j] < eps) sum[1][j] = 0;
      if (dp[1][j] < eps) dp[1][j] = 0;
      res += dp[1][j];
    }
    swap(dp[0], dp[1]);
    swap(sum[0], sum[1]);
    for (j = 0; j <= i; j++) sum[1][j] = 0;
    for (j = 0; j <= i; j++) dp[1][j] = 0;
  }
  cout << res << endl;
  return 0;
}
