#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  int n, t, T[5005];
  long double DP[2][5005], P[5005];
  while (cin >> n >> t) {
    for (int i = 1; i <= n; i++) {
      cin >> P[i] >> T[i];
      P[i] /= 100.0;
    }
    T[n + 1] = t;
    P[n + 1] = 0.0;
    for (int i = 0; i < 2; i++) {
      for (int j = 0; j < 5005; j++) {
        DP[i][j] = 0.0;
      }
    }
    cout << setprecision(6) << fixed;
    long double res = 0.0;
    DP[0][0] = 1.0;
    for (int song = 1; song <= n; song++) {
      int last = (song - 1) % 2;
      int next = song % 2;
      for (int j = 0; j < song; j++) {
        DP[next][j] = 0.0;
      }
      long double pp = 1.0;
      for (int j = 1; j <= T[song] - 1; j++) {
        pp *= (1 - P[song]);
      }
      long double ended = 0.0;
      for (int move = song; move < 5005; move++) {
        DP[next][move] = (DP[next][move - 1] - ended) * (1 - P[song]) +
                         DP[last][move - 1] * P[song];
        int take = move - T[song];
        if (take >= song - 1) {
          DP[next][move] -= DP[last][take] * pp * P[song];
          DP[next][move] += DP[last][take] * pp;
          ended = DP[last][take] * pp;
        }
      }
      long double pow = 1.0;
      for (int j = t; j >= t - T[song + 1] + 1; j--) {
        res += DP[next][j] * song * pow;
        pow *= (1 - P[song + 1]);
      }
    }
    cout << setprecision(14) << fixed << res << endl;
  }
  return 0;
}
