#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9;
const long double EPS = 5e-15;
const int MAXN = 5010;
double dp[MAXN][MAXN];
double p[MAXN];
int t[MAXN];
int main() {
  int n, T;
  scanf("%d%d", &n, &T);
  for (int i = 0; i < n; i++) {
    int wp;
    scanf("%d%d", &wp, &t[i]);
    p[i] = 0.01 * wp;
  }
  dp[0][0] = 1;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < T; j++) {
      double prob = dp[i][j];
      if (prob < EPS) continue;
      bool flag = false;
      if (p[i] > EPS) {
        for (int k = j + 1; k < j + t[i]; ++k) {
          if (k > T) {
            dp[i][T] += prob;
            flag = true;
            break;
          }
          dp[i + 1][k] += prob * p[i];
          prob *= (1 - p[i]);
          if (prob < EPS) break;
        }
      }
      if (!flag)
        if (j + t[i] <= T)
          dp[i + 1][j + t[i]] += prob;
        else
          dp[i][T] += prob;
    }
  }
  double ex = 0;
  for (int i = 0; i < n; i++) {
    ex += i * dp[i][T];
  }
  for (int j = 0; j < T + 1; j++) {
    ex += n * dp[n][j];
  }
  cout << fixed << setprecision(10) << ex << '\n';
  return 0;
}
