import java.util.*;
public class Main {
	public static void main(String[] args){
    //標準入力のインスタンス作成
		Scanner sc = new Scanner(System.in);
		// 数値の入力
		double A = sc.nextDouble();//Acm
		double B = sc.nextDouble();//Bcm
		double H = sc.nextDouble();//H時間
		double M = sc.nextDouble();//M分
		//長短針間の角度を計算
		double theta_a = 30*(H+M/60);
		double theta_b = 360*(M/60);
		double theta_ab = Math.abs(theta_a-theta_b);
		//余弦定理で距離計算
		double C = Math.sqrt(Math.pow(A,2)+Math.pow(B,2)-2*A*B*Math.cos(theta_ab/180*Math.PI));
		// 出力
		System.out.println(C);
	}
} import java.util.*; util.* java public class Main {
	public static void main(String[] args){
    //標準入力のインスタンス作成
		Scanner sc = new Scanner(System.in);
		// 数値の入力
		double A = sc.nextDouble();//Acm
		double B = sc.nextDouble();//Bcm
		double H = sc.nextDouble();//H時間
		double M = sc.nextDouble();//M分
		//長短針間の角度を計算
		double theta_a = 30*(H+M/60);
		double theta_b = 360*(M/60);
		double theta_ab = Math.abs(theta_a-theta_b);
		//余弦定理で距離計算
		double C = Math.sqrt(Math.pow(A,2)+Math.pow(B,2)-2*A*B*Math.cos(theta_ab/180*Math.PI));
		// 出力
		System.out.println(C);
	}
} Main public static void main(String[] args){
    //標準入力のインスタンス作成
		Scanner sc = new Scanner(System.in);
		// 数値の入力
		double A = sc.nextDouble();//Acm
		double B = sc.nextDouble();//Bcm
		double H = sc.nextDouble();//H時間
		double M = sc.nextDouble();//M分
		//長短針間の角度を計算
		double theta_a = 30*(H+M/60);
		double theta_b = 360*(M/60);
		double theta_ab = Math.abs(theta_a-theta_b);
		//余弦定理で距離計算
		double C = Math.sqrt(Math.pow(A,2)+Math.pow(B,2)-2*A*B*Math.cos(theta_ab/180*Math.PI));
		// 出力
		System.out.println(C);
	} main {
    //標準入力のインスタンス作成
		Scanner sc = new Scanner(System.in);
		// 数値の入力
		double A = sc.nextDouble();//Acm
		double B = sc.nextDouble();//Bcm
		double H = sc.nextDouble();//H時間
		double M = sc.nextDouble();//M分
		//長短針間の角度を計算
		double theta_a = 30*(H+M/60);
		double theta_b = 360*(M/60);
		double theta_ab = Math.abs(theta_a-theta_b);
		//余弦定理で距離計算
		double C = Math.sqrt(Math.pow(A,2)+Math.pow(B,2)-2*A*B*Math.cos(theta_ab/180*Math.PI));
		// 出力
		System.out.println(C);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) double A = sc.nextDouble(); A sc.nextDouble() sc.nextDouble sc double B = sc.nextDouble(); B sc.nextDouble() sc.nextDouble sc double H = sc.nextDouble(); H sc.nextDouble() sc.nextDouble sc double M = sc.nextDouble(); M sc.nextDouble() sc.nextDouble sc double theta_a = 30*(H+M/60); theta_a 30*(H+M/60) 30 (H+M/60) H M/60 M 60 double theta_b = 360*(M/60); theta_b 360*(M/60) 360 (M/60) M 60 double theta_ab = Math.abs(theta_a-theta_b); theta_ab Math.abs(theta_a-theta_b) Math.abs Math theta_a-theta_b theta_a theta_b double C = Math.sqrt(Math.pow(A,2)+Math.pow(B,2)-2*A*B*Math.cos(theta_ab/180*Math.PI)); C Math.sqrt(Math.pow(A,2)+Math.pow(B,2)-2*A*B*Math.cos(theta_ab/180*Math.PI)) Math.sqrt Math Math.pow(A,2)+Math.pow(B,2)-2*A*B*Math.cos(theta_ab/180*Math.PI) Math.pow(A,2)+Math.pow(B,2) Math.pow(A,2) Math.pow Math A 2 Math.pow(B,2) Math.pow Math B 2 2*A*B*Math.cos(theta_ab/180*Math.PI) B 2*A*B*Math.cos(theta_ab/180*Math.PI) 2 A B Math.cos(theta_ab/180*Math.PI) Math.cos Math theta_ab/180*Math.PI theta_ab/180 theta_ab 180 Math.PI Math Math.PI System.out.println(C) System.out.println System.out System System.out C String[] args args public class Main {
	public static void main(String[] args){
    //標準入力のインスタンス作成
		Scanner sc = new Scanner(System.in);
		// 数値の入力
		double A = sc.nextDouble();//Acm
		double B = sc.nextDouble();//Bcm
		double H = sc.nextDouble();//H時間
		double M = sc.nextDouble();//M分
		//長短針間の角度を計算
		double theta_a = 30*(H+M/60);
		double theta_b = 360*(M/60);
		double theta_ab = Math.abs(theta_a-theta_b);
		//余弦定理で距離計算
		double C = Math.sqrt(Math.pow(A,2)+Math.pow(B,2)-2*A*B*Math.cos(theta_ab/180*Math.PI));
		// 出力
		System.out.println(C);
	}
} public class Main {
	public static void main(String[] args){
    //標準入力のインスタンス作成
		Scanner sc = new Scanner(System.in);
		// 数値の入力
		double A = sc.nextDouble();//Acm
		double B = sc.nextDouble();//Bcm
		double H = sc.nextDouble();//H時間
		double M = sc.nextDouble();//M分
		//長短針間の角度を計算
		double theta_a = 30*(H+M/60);
		double theta_b = 360*(M/60);
		double theta_ab = Math.abs(theta_a-theta_b);
		//余弦定理で距離計算
		double C = Math.sqrt(Math.pow(A,2)+Math.pow(B,2)-2*A*B*Math.cos(theta_ab/180*Math.PI));
		// 出力
		System.out.println(C);
	}
} Main
import java.util.*;
public class Main {
	public static void main(String[] args){
    //標準入力のインスタンス作成
		Scanner sc = new Scanner(System.in);
		// 数値の入力
		double A = sc.nextDouble();//Acm
		double B = sc.nextDouble();//Bcm
		double H = sc.nextDouble();//H時間
		double M = sc.nextDouble();//M分
		//長短針間の角度を計算
		double theta_a = 30*(H+M/60);
		double theta_b = 360*(M/60);
		double theta_ab = Math.abs(theta_a-theta_b);
		//余弦定理で距離計算
		double C = Math.sqrt(Math.pow(A,2)+Math.pow(B,2)-2*A*B*Math.cos(theta_ab/180*Math.PI));
		// 出力
		System.out.println(C);
	}
}
