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

#define R 6371
#define TO_RAD (3.1415926536 / 180)
double dist(double th1, double ph1, double th2, double ph2)
{
	double dx, dy, dz;
	ph1 -= ph2;
	ph1 *= TO_RAD, th1 *= TO_RAD, th2 *= TO_RAD;

	dz = sin(th1) - sin(th2);
	dx = cos(ph1) * cos(th1) - cos(th2);
	dy = sin(ph1) * cos(th1);
	return asin(sqrt(dx * dx + dy * dy + dz * dz) / 2) * 2 * R;
}

int main(int argc, const char * argv[])
{
	if(argc < 5 || argc > 5){
		return 1;
	}
	float coords[4];
	for(int i=1;i<5;i++){
		if(atof(argv[i]) == 0){
			return 1;
		}
		coords[i] = atof(argv[i]);
	}
	
	double d = dist(coords[1], coords[2], coords[3], coords[4]);
	printf("%.1f\n", d);

	return 0;
}
