#include <bits/stdc++.h>
using namespace std;
const int maxn = 5005;
double dp[5005][5005];
int p[maxn], ti[maxn];
double pp[maxn];
double pv[maxn];
double hh[maxn];
const int BUF = 10000000;
char Buf[BUF], *buf = Buf;
inline void read(int &a) {
  for (a = 0; *buf < 48; buf++)
    ;
  while (*buf > 47) a = a * 10 + *buf++ - 48;
}
int main() {
  fread(Buf, 1, BUF, stdin);
  int n, t;
  read(n);
  read(t);
  for (int i = 1; i <= n; i++) {
    read(p[i]);
    read(ti[i]);
    pp[i] = (double)p[i] / 100.0;
    pv[i] = 1.0 - pp[i];
  }
  dp[0][0] = 1.0;
  double ans = 0;
  for (int i = 1; i <= n; i++) {
    hh[0] = 1.0;
    if (p[i] == 100) {
      for (int j = 0; j < t; j++) {
        dp[i][j + 1] = dp[i - 1][j];
        ans += dp[i][j + 1];
      }
      continue;
    }
    double z1 = pow(pv[i], ti[i]);
    double z2 = pow(pv[i], ti[i] - 1);
    z2 *= pp[i];
    double tmp = 0;
    for (int j = i; j <= t; j++) {
      if (j > ti[i]) {
        tmp -= dp[i - 1][j - ti[i] - 1] * z2;
      }
      tmp *= pv[i];
      tmp += dp[i - 1][j - 1] * pp[i];
      dp[i][j] = tmp;
      if (j >= ti[i]) dp[i][j] += dp[i - 1][j - ti[i]] * z1;
      ans += dp[i][j];
    }
  }
  printf("%.10lf\n", ans);
  return 0;
}
