#include <bits/stdc++.h>
using namespace std;
inline int two(int n) { return 1 << n; }
inline void set_bit(int& n, int b) { n |= two(b); }
inline void unset_bit(int& n, int b) { n &= ~two(b); }
inline int last_bit(int n) { return n & (-n); }
template <class T>
T gcd(T a, T b) {
  return (b != 0 ? gcd<T>(b, a % b) : a);
}
template <class T>
T lcm(T a, T b) {
  return (a / gcd<T>(a, b) * b);
}
int dx[] = {-1, 0, 1, 0}, dy[] = {0, 1, 0, -1};
const double pi = 2 * acos(0.0);
const int mod = 1000000;
int main() {
  std::ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  ;
  long long m, n;
  cin >> m >> n;
  double res = m;
  for (int i = 1; i < m; i++) {
    res -= pow(i / double(m), n);
  }
  cout << fixed << setprecision(10) << res;
}
