#include <bits/stdc++.h>
using namespace std;
const int maxn = 5010;
double f[2][maxn], g[2][maxn], p[maxn], rp[maxn];
int t[maxn];
double calc(int n, int timev, double f[][maxn]) {
  if (timev < t[n]) {
    return 0;
  } else
    return f[0][timev - t[n]] * rp[n];
}
int main() {
  int n, T;
  cin >> n >> T;
  for (int i = 1, x; i <= n; i++) {
    cin >> x >> t[i];
    p[i] = 1.0 * x / 100;
    double y = 1 - p[i];
    rp[i] = 1.0;
    for (int j = 0; j < t[i]; j++) {
      rp[i] *= y;
    }
  }
  t[n + 1] = T + 1;
  p[n + 1] = 0.0;
  rp[n + 1] = 1.0;
  n++;
  t[n + 1] = (int)1e9;
  memset(g, 0, sizeof(g));
  g[0][0] = g[1][0] = 1;
  for (int i = 1; i < t[1]; i++) {
    g[1][i] = g[1][i - 1] * (1.0 - p[1]);
  }
  double ret = 0;
  for (int i = 1; i <= n; i++) {
    memset(f, 0, sizeof(f));
    for (int j = 1; j <= T; j++) {
      f[1][j] = f[0][j] = p[i] * g[1][j - 1] + calc(i, j, g);
      f[1][j] += (1 - p[i + 1]) * f[1][j - 1] - calc(i + 1, j, f);
    }
    memcpy(g, f, sizeof(f));
    ret += i * f[1][T];
  }
  printf("%.10lf\n", ret);
}
