import Foundation

let input = readLine()!.components(separatedBy: " ").map({Double($0)!})

let A = input[0]
let B = input[1]
let H = input[2]
let M = input[3]

/*

何をする問題か
角度の差を求めて距離を出す

*/

//時針は1時間で何度動くか？
//30度
let HourAnglePerH = 360.0/12
//時針は1分で何度動くか？
//0.5度
let HourAnglePerM = 360.0/(12*60)
//時針の角度は？
let HourAngle = HourAnglePerH*H + HourAnglePerM*M

//分針は1分で何度動くか？
//6度
let MinuteAnglePerM = 360.0/60
//分針の角度は？
let MinuteAngle = MinuteAnglePerM*M

//分針と時針の角度の差は？
//差が180を超える時、360からそれを引く。
var angleDiff: CGFloat = CGFloat(abs(HourAngle-MinuteAngle))
if angleDiff > 180 {
    angleDiff = 360-angleDiff
}

//角度の差と針の長さから距離を求める
//a2 = b2+c2-2bc cosA

var cosValue:Double
cosValue = Double(cos(CGFloat.pi/180.0*angleDiff))
let temp:Double = Double((A*A))+Double((B*B))-(Double(2*A*B)*cosValue)

print(sqrt(temp))