#include <bits/stdc++.h>
using namespace std;
template <typename T, typename L>
inline bool smax(T &x, L y) {
  return x < y ? (x = y, true) : false;
}
template <typename T, typename L>
inline bool smin(T &x, L y) {
  return y < x ? (x = y, true) : false;
}
constexpr int MAXN = 1e5 + 15;
long double n, r;
long double ans;
int main() {
  cin >> n >> r;
  ans = n * 2 * r;
  for (int i = 1; i <= n; i++) {
    if (i > 1) {
      ans += r * (i - 1) * (i - 2) + (2 * r * sqrt(2) * (i - 2));
      ans += r * (2 + sqrt(2));
    }
    if (i < n) {
      ans += r * ((n - i + 1) - 1) * ((n - i + 1) - 2) +
             2 * sqrt(2) * r * ((n - i + 1) - 2);
      ans += r * (2 + sqrt(2));
    }
  }
  return cout << fixed << setprecision(10) << ans / (n * n) << '\n', false;
}
