#include <bits/stdc++.h>
using namespace std;
int n, T;
double p;
double matriz[2002][2002];
bool marca[2002][2002];
double dp(int i, int t) {
  if (i == 0 && t == 0) return 1.0;
  if (i > t) return 0.0;
  if (i < 0 || t < 0) return 0.0;
  double &mejor = matriz[i][t];
  if (marca[i][t]) return mejor;
  marca[i][t] = true;
  if (i == n) {
    mejor = dp(i - 1, t - 1) * p + dp(i, t - 1);
  } else {
    mejor = dp(i - 1, t - 1) * p + dp(i, t - 1) * (1 - p);
  }
  return mejor;
}
int main() {
  scanf("%d", &n);
  scanf("%lf", &p);
  scanf("%d", &T);
  memset(marca, false, sizeof(marca));
  double res = 0;
  for (int i = 1; i <= n; i++) {
    res += i * dp(i, T);
  }
  printf("%.7lf\n", res);
}
