#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
struct points {
  double x, y;
  points(double x = 0, double y = 0) : x(x), y(y) {}
};
points operator+(points a, points b) { return points(a.x + b.x, a.y + b.y); }
points operator-(points a, points b) { return points(a.x - b.x, a.y - b.y); }
points operator*(points a, double b) { return points(a.x * b, a.y * b); }
points operator/(points a, double b) { return points(a.x / b, a.y / b); }
double len(points v) { return sqrt(v.x * v.x + v.y * v.y); }
points rotate(points a, double rad) {
  return points(a.x * cos(rad) - a.y * sin(rad),
                a.y * cos(rad) + a.x * sin(rad));
}
void print(points a) { printf("%.11lf %.11lf\n", a.x, a.y); }
points getPoints(points o, double rad, double r) {
  return points(o.x + r * cos(rad), o.y + r * sin(rad));
}
int main(int argc, char *argv[]) {
  int n;
  double r;
  cin >> n >> r;
  double a1 = pi / n / 2.0, a2 = pi / n, a3 = pi - a1 - a2;
  double r2 = r * sin(a2) / sin(a3);
  double area = r2 * r * sin(a1) * n;
  printf("%.13lf", area);
  return 0;
}
