#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 5, MAXT = 710;
int N, K;
double d[2][MAXT];
int main() {
  scanf("%d%d", &N, &K);
  for (int i = 0; i < MAXT; i++) {
    d[0][i] = 0;
  }
  int c = 1;
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < MAXT - 1; j++) {
      d[c][j] = 1.0 / (K * (j + 1)) *
                    (j * d[c ^ 1][j] + d[c ^ 1][j + 1] + j * (j + 3) / 2.0) +
                (K - 1.0) / K * d[c ^ 1][j];
    }
    c ^= 1;
  }
  printf("%.10lf\n", d[c ^ 1][1] * K);
  return 0;
}
