#include <bits/stdc++.h>
using namespace std;
double dp[2][600 + 10];
int main(void) {
  int N, K, i, j;
  double ans = 0.0;
  cin >> N >> K;
  dp[0][1] = 1.0;
  for ((i) = 0; (i) < (int)(N); (i)++) {
    int cur = i % 2, next = (i + 1) % 2;
    for ((j) = 0; (j) < (int)(600); (j)++)
      ans += dp[cur][j] * (j / 2.0 + j / (j + 1.0));
    for ((j) = 0; (j) < (int)(600); (j)++)
      dp[next][j] = dp[cur][j] * (1.0 - 1.0 / (j + 1.0) / K);
    for ((j) = 0; (j) < (int)(600); (j)++)
      dp[next][j + 1] += dp[cur][j] / (j + 1.0) / K;
    for ((j) = 0; (j) < (int)(600); (j)++)
      if (dp[next][j] < 1.0E-100) dp[next][j] = 0.0;
  }
  printf("%.12f\n", ans);
  return 0;
}
