//abstract sinif ve boyutlu dešiskenler
abstract class f_x
{ abstract double func(double x);}

public class sayisal
{
	
public static double turev(f_x f,double x)
{  double h=0.00001;
   double hh=1.0/h; 
  return (-f.func(x+2.0*h)+8.0*f.func(x+h)-8.0*f.func(x-h)+f.func(x-2.0*h))/12.0*hh;
}
}
