#include <bits/stdc++.h>
using namespace std;
struct debugger {
  template <typename T>
  debugger& operator,(const T v) {
    cerr << v << " ";
    return *this;
  }
} dbg;
const double pi = acos(-1.0);
const double eps = 1e-7;
template <class TT>
TT sqr(TT a) {
  return a * a;
}
template <class TT>
TT abs(TT a) {
  if (a < 0) return -a;
  return a;
}
template <class ZZ>
ZZ max(ZZ a, ZZ b, ZZ c) {
  return max(a, max(b, c));
}
template <class ZZ>
ZZ min(ZZ a, ZZ b, ZZ c) {
  return min(a, min(b, c));
}
double p;
const int S = 2010;
double mm[S][S];
double go(int r, int t) {
  if (t == 0 || r == 0) return 0;
  double& re = mm[r][t];
  if (re > -2) return re;
  re = 0;
  re = p * (1 + go(r - 1, t - 1)) + (1.0 - p) * go(r, t - 1);
  return re;
}
int main() {
  int i, j, k, l, tks, ks = 1, n, m, t;
  while (scanf("%d%lf%d", &n, &p, &t) == 3) {
    for (i = 0; i < S; i++)
      for (j = 0; j < S; j++) mm[i][j] = -5;
    double ans = go(n, t);
    printf("%.10lf\n", ans);
  }
  return 0;
}
