/* ex4_2: Colon
    Jun_JPN */

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

int main(void){

    long double s_hand, l_hand, hour, min, rad, length;

    scanf("%Lf %Lf %Lf %Lf", &s_hand, &l_hand, &hour, &min);

    /* 長針と短針のなす角radを計算
        0時方向ベクトルと長針がなす偏角theta1は(min/60)*2*M_PI
        0時方向ベクトルと短針がなす偏角theta2は(hour/12)*2*M_PI + (min/60)*(1/12)*2*M_PI
        よって，rad = |theta1-theta2|である */
    rad = (60*hour - 11*min)/360 * M_PI;    //負の数をとっても良い

    /* 余弦定理で求める長さlengthを計算
        なす角の大きさが0，M_PIラジアンのときも余弦定理の式は成り立つ
        rad<0でも余弦定理の式は成り立つ */

    length = sqrt(l_hand*l_hand + s_hand*s_hand - 2*l_hand*s_hand*cos(rad));

    printf("%.20Lf\n", length);

    return 0;
}