/*  4_1
    Y_Aizaki    */

#include <stdio.h>
#include <math.h>
#define PI 3.14159265359

/* プロトタイプ宣言 */
double radian(double hour_date, double minute_date);
double handDistance(double rad_date, double len_date1, double len_date2);

int main(void){
    double len_hour, len_minute, hour, minute;
    // 時針の長さ、分針の長さ、~時、~分
    scanf("%lf%lf%lf%lf", &len_hour, &len_minute, &hour, &minute);

    double rad;
    // 針間の角度
    rad = radian(hour, minute);

    double ans;
    // answer
    ans = handDistance(rad, len_hour, len_minute);
    printf("%f\n", ans);

    return 0;

}

double radian(double hour_date, double minute_date){
    double rad_hour, rad_minute, rad;

    rad_hour = (PI / 6.0) * hour_date + (PI / 360.0) * minute_date;
    rad_minute = (PI / 30.0) * minute_date;
    rad = rad_hour - rad_minute;
    
    return rad;
    // radが負であったり、PIより大きい場合もあるが、後の余弦定理で用いる点で支障はない

}

double handDistance(double rad_date, double len_date1, double len_date2){
    double distance;
    distance = sqrt(pow(len_date1, 2.0) + pow(len_date2, 2.0) - 2.0 * len_date1 * len_date2 * cos(rad_date));

    return distance;
}