import java.io.*;
import java.util.Scanner;
import java.util.Arrays;
import java.util.ArrayList;

public class Main{

    public static void main(String[] args){
        //START

        Scanner sc=new Scanner(System.in);
        int A=sc.nextInt();
        int B=sc.nextInt();
        int H=sc.nextInt();
        int M=sc.nextInt();

        double longW=((H%12)*30)+(M*0.5); //長針のデフォルトからの角度
        double shortW=M*6; //短針のデフォルトからの角度

        //System.out.print(longW);
        //System.out.print(" ");
        //System.out.println(shortW);

        double W=longW-shortW;

        if(W<0){
            W=Math.abs(longW-shortW);
        }else if(W>180){
            W=360-W;
        }

        //System.out.println(W);

        double cosW=0;

        if(W==90){
            cosW=0;
        }else{
            cosW=Math.cos(Math.toRadians(W));
        }

        //System.out.println(cosW);

        double JIJOU=A*A+B*B-2*A*B*cosW;

        //System.out.println(A*A+"と"+B*B+"と"+2*A*B*cosW);
        //System.out.println(JIJOU);

        double ans=Math.sqrt(JIJOU);

        System.out.println(String.format("%.15f", ans));
        //END

    }
}
 import java.io.*; io.* java import java.util.Scanner; Scanner java.util import java.util.Arrays; Arrays java.util import java.util.ArrayList; ArrayList java.util public class Main{

    public static void main(String[] args){
        //START

        Scanner sc=new Scanner(System.in);
        int A=sc.nextInt();
        int B=sc.nextInt();
        int H=sc.nextInt();
        int M=sc.nextInt();

        double longW=((H%12)*30)+(M*0.5); //長針のデフォルトからの角度
        double shortW=M*6; //短針のデフォルトからの角度

        //System.out.print(longW);
        //System.out.print(" ");
        //System.out.println(shortW);

        double W=longW-shortW;

        if(W<0){
            W=Math.abs(longW-shortW);
        }else if(W>180){
            W=360-W;
        }

        //System.out.println(W);

        double cosW=0;

        if(W==90){
            cosW=0;
        }else{
            cosW=Math.cos(Math.toRadians(W));
        }

        //System.out.println(cosW);

        double JIJOU=A*A+B*B-2*A*B*cosW;

        //System.out.println(A*A+"と"+B*B+"と"+2*A*B*cosW);
        //System.out.println(JIJOU);

        double ans=Math.sqrt(JIJOU);

        System.out.println(String.format("%.15f", ans));
        //END

    }
} Main public static void main(String[] args){
        //START

        Scanner sc=new Scanner(System.in);
        int A=sc.nextInt();
        int B=sc.nextInt();
        int H=sc.nextInt();
        int M=sc.nextInt();

        double longW=((H%12)*30)+(M*0.5); //長針のデフォルトからの角度
        double shortW=M*6; //短針のデフォルトからの角度

        //System.out.print(longW);
        //System.out.print(" ");
        //System.out.println(shortW);

        double W=longW-shortW;

        if(W<0){
            W=Math.abs(longW-shortW);
        }else if(W>180){
            W=360-W;
        }

        //System.out.println(W);

        double cosW=0;

        if(W==90){
            cosW=0;
        }else{
            cosW=Math.cos(Math.toRadians(W));
        }

        //System.out.println(cosW);

        double JIJOU=A*A+B*B-2*A*B*cosW;

        //System.out.println(A*A+"と"+B*B+"と"+2*A*B*cosW);
        //System.out.println(JIJOU);

        double ans=Math.sqrt(JIJOU);

        System.out.println(String.format("%.15f", ans));
        //END

    } main {
        //START

        Scanner sc=new Scanner(System.in);
        int A=sc.nextInt();
        int B=sc.nextInt();
        int H=sc.nextInt();
        int M=sc.nextInt();

        double longW=((H%12)*30)+(M*0.5); //長針のデフォルトからの角度
        double shortW=M*6; //短針のデフォルトからの角度

        //System.out.print(longW);
        //System.out.print(" ");
        //System.out.println(shortW);

        double W=longW-shortW;

        if(W<0){
            W=Math.abs(longW-shortW);
        }else if(W>180){
            W=360-W;
        }

        //System.out.println(W);

        double cosW=0;

        if(W==90){
            cosW=0;
        }else{
            cosW=Math.cos(Math.toRadians(W));
        }

        //System.out.println(cosW);

        double JIJOU=A*A+B*B-2*A*B*cosW;

        //System.out.println(A*A+"と"+B*B+"と"+2*A*B*cosW);
        //System.out.println(JIJOU);

        double ans=Math.sqrt(JIJOU);

        System.out.println(String.format("%.15f", ans));
        //END

    } Scanner sc=new Scanner(System.in); sc new Scanner(System.in) int A=sc.nextInt(); A sc.nextInt() sc.nextInt sc int B=sc.nextInt(); B sc.nextInt() sc.nextInt sc int H=sc.nextInt(); H sc.nextInt() sc.nextInt sc int M=sc.nextInt(); M sc.nextInt() sc.nextInt sc double longW=((H%12)*30)+(M*0.5); longW ((H%12)*30)+(M*0.5) ((H%12)*30) (H%12) H 12 30 (M*0.5) M 0.5 double shortW=M*6; shortW M*6 M 6 double W=longW-shortW; W longW-shortW longW shortW if(W<0){
            W=Math.abs(longW-shortW);
        }else if(W>180){
            W=360-W;
        } W<0 W 0 {
            W=Math.abs(longW-shortW);
        } W=Math.abs(longW-shortW) W Math.abs(longW-shortW) Math.abs Math longW-shortW longW shortW if(W>180){
            W=360-W;
        } W>180 W 180 {
            W=360-W;
        } W=360-W W 360-W 360 W double cosW=0; cosW 0 if(W==90){
            cosW=0;
        }else{
            cosW=Math.cos(Math.toRadians(W));
        } W==90 W 90 {
            cosW=0;
        } cosW=0 cosW 0 {
            cosW=Math.cos(Math.toRadians(W));
        } cosW=Math.cos(Math.toRadians(W)) cosW Math.cos(Math.toRadians(W)) Math.cos Math Math.toRadians(W) Math.toRadians Math W double JIJOU=A*A+B*B-2*A*B*cosW; JIJOU A*A+B*B-2*A*B*cosW A*A+B*B A*A A A B*B B B 2*A*B*cosW B 2*A*B*cosW 2 A B cosW double ans=Math.sqrt(JIJOU); ans Math.sqrt(JIJOU) Math.sqrt Math JIJOU System.out.println(String.format("%.15f", ans)) System.out.println System.out System System.out String.format("%.15f", ans) String.format String "%.15f" ans String[] args args public class Main{

    public static void main(String[] args){
        //START

        Scanner sc=new Scanner(System.in);
        int A=sc.nextInt();
        int B=sc.nextInt();
        int H=sc.nextInt();
        int M=sc.nextInt();

        double longW=((H%12)*30)+(M*0.5); //長針のデフォルトからの角度
        double shortW=M*6; //短針のデフォルトからの角度

        //System.out.print(longW);
        //System.out.print(" ");
        //System.out.println(shortW);

        double W=longW-shortW;

        if(W<0){
            W=Math.abs(longW-shortW);
        }else if(W>180){
            W=360-W;
        }

        //System.out.println(W);

        double cosW=0;

        if(W==90){
            cosW=0;
        }else{
            cosW=Math.cos(Math.toRadians(W));
        }

        //System.out.println(cosW);

        double JIJOU=A*A+B*B-2*A*B*cosW;

        //System.out.println(A*A+"と"+B*B+"と"+2*A*B*cosW);
        //System.out.println(JIJOU);

        double ans=Math.sqrt(JIJOU);

        System.out.println(String.format("%.15f", ans));
        //END

    }
} public class Main{

    public static void main(String[] args){
        //START

        Scanner sc=new Scanner(System.in);
        int A=sc.nextInt();
        int B=sc.nextInt();
        int H=sc.nextInt();
        int M=sc.nextInt();

        double longW=((H%12)*30)+(M*0.5); //長針のデフォルトからの角度
        double shortW=M*6; //短針のデフォルトからの角度

        //System.out.print(longW);
        //System.out.print(" ");
        //System.out.println(shortW);

        double W=longW-shortW;

        if(W<0){
            W=Math.abs(longW-shortW);
        }else if(W>180){
            W=360-W;
        }

        //System.out.println(W);

        double cosW=0;

        if(W==90){
            cosW=0;
        }else{
            cosW=Math.cos(Math.toRadians(W));
        }

        //System.out.println(cosW);

        double JIJOU=A*A+B*B-2*A*B*cosW;

        //System.out.println(A*A+"と"+B*B+"と"+2*A*B*cosW);
        //System.out.println(JIJOU);

        double ans=Math.sqrt(JIJOU);

        System.out.println(String.format("%.15f", ans));
        //END

    }
} Main
import java.io.*;
import java.util.Scanner;
import java.util.Arrays;
import java.util.ArrayList;

public class Main{

    public static void main(String[] args){
        //START

        Scanner sc=new Scanner(System.in);
        int A=sc.nextInt();
        int B=sc.nextInt();
        int H=sc.nextInt();
        int M=sc.nextInt();

        double longW=((H%12)*30)+(M*0.5); //長針のデフォルトからの角度
        double shortW=M*6; //短針のデフォルトからの角度

        //System.out.print(longW);
        //System.out.print(" ");
        //System.out.println(shortW);

        double W=longW-shortW;

        if(W<0){
            W=Math.abs(longW-shortW);
        }else if(W>180){
            W=360-W;
        }

        //System.out.println(W);

        double cosW=0;

        if(W==90){
            cosW=0;
        }else{
            cosW=Math.cos(Math.toRadians(W));
        }

        //System.out.println(cosW);

        double JIJOU=A*A+B*B-2*A*B*cosW;

        //System.out.println(A*A+"と"+B*B+"と"+2*A*B*cosW);
        //System.out.println(JIJOU);

        double ans=Math.sqrt(JIJOU);

        System.out.println(String.format("%.15f", ans));
        //END

    }
}

