/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
		double dLatPos1 = latdecimal(31, 0, 0, "N");
		double dLonPos1 = londecimal(331, 0, 0, "E");
		double dLatPos2 = latdecimal(2, 42, 0, "S");
		double dLonPos2 = londecimal(16, 42, 0, "E");
		
		System.out.print(measure(dLatPos1, dLonPos1, dLatPos2, dLonPos2));
	}
	
	static double measure(double lat1, double lon1, double lat2, double lon2){  // generally used geo measurement function
	    double R = 320; // Radius of Duna in KM
	    double dLat = (lat2 - lat1) * Math.PI / 180;
	    double dLon = (lon2 - lon1) * Math.PI / 180;
	    double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
	    Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) *
	    Math.sin(dLon/2) * Math.sin(dLon/2);
	    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
	    double d = R * c;
	    return d; // km
	}
	
	static double latdecimal(double degree, double minutes, double seconds, String direction) {
		double dLatDecimal = degree + (minutes/60) + (seconds/3600);
		if(direction.equals("S")) {
			dLatDecimal = -1 * dLatDecimal;
		}
		return dLatDecimal;
	}
	
	static double londecimal(double degree, double minutes, double seconds, String direction) {
		double dLonDecimal = degree + (minutes/60) + (seconds/3600);
		if(direction.equals("W")) {
			dLonDecimal = -1 * dLonDecimal;
		}
		return dLonDecimal;
	}
}