#include <bits/stdc++.h>
using namespace std;
template <class T>
inline T bigmod(T p, T e, T M) {
  long long ret = 1;
  for (; e > 0; e >>= 1) {
    if (e & 1) ret = (ret * p) % M;
    p = (p * p) % M;
  }
  return (T)ret;
}
template <class T>
inline T gcd(T a, T b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
template <class T>
inline T modinverse(T a, T M) {
  return bigmod(a, M - 2, M);
}
double dp[5011][5011], ps[5011], pp[5001];
int tt[5001];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  long long a, b, c, d = 0, e, f = 0, g, h = 0, x, y, z = 0;
  cin >> a >> b;
  for (int i = 1; i <= a; i++) cin >> pp[i] >> tt[i];
  for (int i = (1); i < (a + 1); ++i) pp[i] /= 100.0;
  for (int i = a; i >= 1; i--) {
    for (int j = b + 1; j >= 1; j--) ps[j] = (1.0 + dp[i + 1][j]) * pp[i];
    c = tt[i] + b + 1;
    double p1 = 1.0, p2 = 1.0;
    for (int j = 1; j <= tt[i]; j++) p1 *= (1.0 - pp[i]);
    for (int j = 1; j < tt[i]; j++) p2 *= (1.0 - pp[i]);
    double p = 0.0, q = 0.0;
    for (int j = b + 1; j >= 1; j--) {
      dp[i][j] = p;
      if (c <= b + 1) p -= p2 * (1.0 + dp[i + 1][c]);
      p *= (1.0 - pp[i]);
      p += ps[j];
      c--;
      if (c <= b + 1) {
        p -= p2 * ps[c];
        p += p2 * (1.0 + dp[i + 1][c]);
      }
    }
  }
  cout << fixed << setprecision(10) << dp[1][1] << endl;
}
