#include <bits/stdc++.h>
int x, k;
double f[2][210], p;
int main() {
  scanf("%d%d%lf", &x, &k, &p);
  p /= 100.0;
  for (int i = 0; i <= k; i++) {
    register int t = x + i;
    while (!(t & 1)) f[0][i]++, t >>= 1;
  }
  for (int i = 1; i <= k; i++) {
    memset(f[i & 1], 0, sizeof(f[0]));
    for (int j = 0; j <= k; j++) {
      if (j) f[i & 1][j - 1] += f[!(i & 1)][j] * (1.0 - p);
      if ((j << 1) <= k) f[i & 1][j << 1] += (f[!(i & 1)][j] + 1) * p;
    }
  }
  printf("%.10f\n", f[k & 1][0]);
  return 0;
}
