#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
  
  M = N;

  //  double pas = 2.0/N;

  int i; 
  double v;
  double u;
  double phi0,phir,phiIN,phiFIN,dphi0;
  double P;
  double pas;
  double invM;

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

  for(phi0=phiIN;phi0<phiFIN;phi0 = phi0 + dphi0){
    phir = acos(-1.0L)*phi0/180.0; // de degrés en radians
    pas = 2.0*sqrt(2.0*sqrt(1.0-cos(phir)))/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(phir))-sqr(u/2.0);
    P = (2.0*sqrt(1-cos(phir))+v)*(4.0*(1.0+cos(phir))+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) << phir << " " << 8.0L*sqrt(2.0L)*integrate(c,f,pas,M)/(2.0*acos(-1.0L));

  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)/(2.0*acos(-1.0L));

  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)/(2.0*acos(-1.0L)) << endl;


  }

  return(0);
}
