open Batteries
let a,b,h,m = Scanf.sscanf (read_line()) "%d %d %d %d" (fun a b h m -> a,b,h,m)
let get_hour_kakudo hour = (15 * (hour+3))
let get_minute_kakudo minutes = (6 * (minutes+15))
let pi = 4.0 *. atan 1.0
let f_a = float_of_int a
let f_b = float_of_int b
let _ = (
  if get_hour_kakudo h = get_minute_kakudo m then (float_of_int @@ abs (a-b)) else (
    let hour_x = f_a *. (cos @@ (((float_of_int @@ get_hour_kakudo h) /. 180.) *. pi))  in
    let hour_y = f_a *. (sin @@ (((float_of_int @@ get_hour_kakudo h) /. 180.) *. pi)) in
    let min_x = f_b *. (cos @@ (((float_of_int @@ get_minute_kakudo m) /. 180.) *. pi)) in
    let min_y = f_b *. (sin @@ (((float_of_int @@ get_minute_kakudo m) /. 180.) *. pi)) in
    (* Printf.printf "%.1f %.8f %.8f %.8f hour %d minutes %d\n" hour_x hour_y min_x min_y (get_hour_kakudo h) (get_minute_kakudo m); *)
    (((min_x -. hour_x) ** 2.) +. ((min_y -. hour_y) ** 2.)) |> sqrt
  )
) |> Printf.printf "%f\n"

