/* double toto( double (*f)(double), double x){
   return(f(x));} comment passer une fonction comme argument à une fonction */

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

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

double C1;

double f(double x){//exemple d'une fonction pour tester  simpson
  return(1.0/sqrt(C1-sqr(x/2.0)));
}



double simpson( double (*f)(double), double A, double B, int N){// N impair!
    double h=(B-A)/( (double)N +1.0);
    double temp=h*(f(A)+f(B))/3.0;
    int j;
    double x;
    for(j=1;j<N;j=j+2){
	x=A+j*h;
	temp=temp + (4.0*h*f(x)/3.0);}

    for(j=2;j<N;j=j+2){
	x=A+j*h;
	temp=temp + (2.0*h*f(x)/3.0);} 
	return(temp);
    }


main(){
  //  printf("%g\n",simpson(f,0.0,1.0,1023));//Test
  double A,dA,phi,r;
  int N, R;
  scanf("%lf %d %d",&C1,&N, &R);
  dA = 2*sqrt(C1)/R;
  //  printf("%g\n",dA);

  double pi = acos(-1.0L); double deuxpi = 2.0*pi;

  r=1.0; phi=0.0; 
  printf("%g\t%g\t%g\t%g\n",r,phi,r*cos(ph),r*sin(phi)); //origine à r=r_0 et phi-phi_0=0

  for(A=dA;A<(2.0*sqrt(C1));A=A+dA){
        r = 1.0/(1.0-sqr(A/(2.0*sqrt(C1))));
    double borne=-A;
    phi = simpson(f,borne,0.0,N);
    phi = phi - deuxpi*(int)(phi/deuxpi);
    printf("%g\t%g\t%g\t%g\n",r,phi,r*cos(phi),r*sin(phi));
  }
  

	
}
