#include <bits/stdc++.h>
using namespace std;
const int maxn = 5003;
double dp[2][maxn], dcur[2][maxn], an[maxn];
double p[maxn], pt[maxn];
int t[maxn];
double qukmod(double base, int k) {
  double ans = 1.0;
  int pb;
  for (pb = 1; pb <= k; pb <<= 1) {
    if (pb & k) ans *= base;
    base *= base;
  }
  return ans;
}
int main() {
  memset(dp, 0, sizeof(dp));
  int i, n, T, j, cur = 0;
  double ans = 0;
  scanf("%d %d", &n, &T);
  dcur[cur][0] = dp[cur][0] = 1.0;
  for (i = 1; i <= n; i++) {
    scanf("%lf %d", &p[i], &t[i]);
    p[i] /= 100.0;
  }
  for (i = 1; i <= n; i++) pt[i] = qukmod(1 - p[i], t[i]);
  for (i = 0; i <= n; i++) {
    memset(dp[cur ^ 1], 0, sizeof(dp[cur ^ 1]));
    memset(dcur[cur ^ 1], 0, sizeof(dcur[cur ^ 1]));
    for (j = 0; j <= T; j++) {
      dcur[cur ^ 1][j + 1] += dp[cur][j] * p[i + 1];
      dp[cur ^ 1][j + 1] += dp[cur][j] * p[i + 1];
      dp[cur][j + 1] += dp[cur][j] * (1 - p[i + 1]);
      if (j + t[i + 1] <= T) {
        dp[cur][j + t[i + 1]] -= dcur[cur][j] * pt[i + 1];
        dcur[cur ^ 1][j + t[i + 1]] += dcur[cur][j] * pt[i + 1];
        dp[cur ^ 1][j + t[i + 1]] += dcur[cur][j] * pt[i + 1];
      }
    }
    an[i] = dp[cur][T];
    cur ^= 1;
  }
  for (i = 1; i <= n; i++) ans += (an[i] * i);
  printf("%.9f\n", ans);
  return 0;
}
