#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

#define sqr(x) ((x)*(x))

void rectangles(double c[], int N){
  int i;
  for(i=0;i<N;i++){
    c[i] = 1.0;
  }
  c[N] = 0.0;

}

void trapezes(double c[], int N){
  int i; 
  c[0] = 0.5;
  for(i=1;i<N;i++){
    c[i] = 1.0;
  }
  c[N] = 0.5;

}

void simpson(double c[], int N){// N doit être pair pour Simpson!
  int i;
  c[0] = 1./3.; 
  for(i=1;i<N;i=i+2){
    c[i] = 4./3.;
  }

  for(i=2;i<N;i=i+2){
    c[i] = 2./3.;
  }

  c[N] = 1./3.;
}

double integrate(double c[], double f[], double pas, int N){
  int i;
  double somme = c[0]*f[0];
  for(i=1;i<=N;i++){
    somme = somme + c[i]*f[i];
  }
  return(pas*somme);
}

int main(){
  int N;

  cin >> N;

  double c[N+1], f[N+1];

  int M; // M <=N
  
  //  double pas = 2.0/N;

  int i; 
  double v;
  double u;
  double phi0;
  double P;
  double pas;
  double invM;

  cin >> phi0; // en degrés
  phi0 = acos(-1.0L)*phi0/180.0; // de degrés en radians

  for(M=16;M<=N;M=2*M){

    invM = 1.0/M;
    //    pas = 2.0/M;

    pas = 2.0*sqrt(2.0*sqrt(1.0-cos(phi0)))/M;

  for(i=0;i<=M;i++){
    /*    v = i*pas;
    f[i] = 1.0/sqrt(2.0-sqr(0.5*v));
    */
    u = i*pas;
    v = 2.0*sqrt(1.0-cos(phi0))-sqr(u/2.0);
    P = (2.0*sqrt(1-cos(phi0))+v)*(4.0*(1.0+cos(phi0))+sqr(v));
    f[i] = 1.0/sqrt(P);
  }

  rectangles(c,M); //Les coefficients sont définis pour la méthode des rectangles

  cout << setprecision(9) << invM << " " << 8.0L*sqrt(2.0L)*integrate(c,f,pas,M);

  trapezes(c,M); //Les coefficients sont définis pour la méthode des trapèzes

  cout << setprecision(9) << " " << 8.0L*sqrt(2.0L)*integrate(c,f,pas,M);

  simpson(c,M); //Les coefficients sont définis pour la méthode de Simpson

  cout << setprecision(9) << " " << 8.0L*sqrt(2.0L)*integrate(c,f,pas,M) << endl;


  }

  return(0);
}
