#include <bits/stdc++.h>
using namespace std;
int n;
double p[1010];
double q[1010];
double dp[1010][1010];
long long chang(long long x) {
  for (long long i = 10;; i = i * 10)
    if (x / i == 0)
      return i / 10;
    else if (i == 1000000000000000000ll)
      return i;
}
long long gao(long long x) {
  if (x <= 0) return 0;
  if (x <= 9) return 1;
  long long ans = 0;
  long long chu = chang(x);
  ans += (x / chu == 1 ? (x % chu + 1) : chu);
  chu /= 10;
  while (chu) {
    ans += chu;
    chu /= 10;
  }
  return ans;
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    long long a, b;
    scanf("%I64d%I64d", &a, &b);
    long long zi = gao(b) - gao(a - 1);
    p[i] = (double)zi / (b - a + 1);
    q[i] = 1.0 - p[i];
  }
  int k;
  scanf("%d", &k);
  dp[0][0] = 1.0;
  for (int i = 1; i <= n; i++)
    for (int j = 0; j <= i; j++)
      dp[i][j] = p[i - 1] * dp[i - 1][j - 1] + q[i - 1] * dp[i - 1][j];
  double ans = 0.0;
  double cheng = (double)k * n;
  int di = ceil(cheng / 100.0);
  for (int i = di; i <= n; i++) ans += dp[n][i];
  printf("%.9f\n", ans);
}
