/* ABC168_C
    Stuartyg */

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

int main(void){
        int hour_hand,minute_hand; /*A,Bのこと*/
        int hour,minute; /*h,mのこと*/
        scanf("%d %d %d %d",&hour_hand,&minute_hand,&hour,&minute); /*標準入力から受け取る*/

        double angle,ans;
        /*長針と短針がH:Mの時刻になす角をもとめる*/
        angle = (30*hour - 5.5*minute) / 180 * M_PI;
        /*H:00の時刻には長針と短針は30*hourだけずれている。
        1分間で長針は短針より5.5度分多く進見、追い越そうとする。
        それをラジアンに直す*/

        ans = sqrt(pow(hour_hand,2) + pow(minute_hand,2) -2*hour_hand*minute_hand*cos(angle));
        /*余弦定理*/
        printf("%.10f\n",ans);
        /*小数点以下10桁まで表示*/
        return 0;
}
