#include <bits/stdc++.h>
using namespace std;
double dp[2003][2003];
int check[2003][2003];
double ExpectedValue(int n, double p, int t) {
  if (!n || !t) return 0.0;
  if (check[n][t] != -1) return dp[n][t];
  check[n][t] = 0;
  dp[n][t] += p * (1 + ExpectedValue(n - 1, p, t - 1)) +
              (1.0 - p) * (ExpectedValue(n, p, t - 1));
  return dp[n][t];
}
int main() {
  int n, t;
  double p;
  memset(check, -1, sizeof(check));
  cin >> n >> p >> t;
  cout << fixed << setprecision(6) << ExpectedValue(n, p, t) << endl;
  return 0;
}
