   import java.util.*;
   import java.io.*;

    class Angles{
   
       public static void main(String[] args) throws IOException{
         Scanner s = new Scanner(new File("DATA1.txt"));
         PrintStream p = new PrintStream(new FileOutputStream("OUT1.txt"));
         for(int i = 0; i < 5; i++){
            int x1, y1, x2, y2;
            x1 = s.nextInt();
            y1 = s.nextInt();
            x2 = s.nextInt();
            y2 = s.nextInt();
            double l1 = Math.sqrt(x1*x1+y1*y1);
            double l3 = Math.sqrt(x2*x2+y2*y2);
            double l2 = Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
            if((x1 == x2 && y1 == y2) || (x1 == 0 && x2 == 0 && y1 * y2 >= 0) || (y1 == 0 && y2 == 0 && x1 * x2 >= 0)){
               p.println("0.0");
            }
            else{
               double theta = (l1*l1+l3*l3-l2*l2)/(2*l1*l3);
               double ans = Math.acos(theta)*180/Math.PI;
               if(x1 >= x2 && y1 >= y2){
                  p.format("%.1f%n", Math.acos(theta)*180/Math.PI);
               }
               else if(x1 <= x2 && y1 >= y2){
                  p.format("%.1f%n", Math.acos(theta)*180/Math.PI);
               }
               else if(x1 >= x2 && y1 <= y2){
                  p.format("%.1f%n", 360-Math.acos(theta)*180/Math.PI);
               }
               else if(x1 <= x2 && y1 <= y2){
                  p.format("%.1f%n", 360-Math.acos(theta)*180/Math.PI);
               }
            }
         }
      }
   }
