#include <iostream>
#define _USE_MATH_DEFINES
#include <math.h>
using namespace std;
struct Vector2
{
double x, y;
};
double angle(Vector2 a, Vector2 b) // oblicz kąt pomiędzy wektorami
{
return acos ( (a.x * b.x + a.y * b.y) / ( sqrt( pow(a.x, 2) + pow(a.y, 2) ) * sqrt( pow(b.x, 2) + pow(b.y, 2) )) );;
}
double deg(double rad) // Zamień radiany na stopnie
{
return rad/M_PI*180;
}
int main()
{
Vector2 a, b;
while(cin>>a.x>>a.y>>b.x>>b.y)
{
cout<<deg(angle(a, b))<<endl; // Wypisz kąt pomiędzy wektorami
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojZGVmaW5lIF9VU0VfTUFUSF9ERUZJTkVTIAojaW5jbHVkZSA8bWF0aC5oPgogCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKc3RydWN0IFZlY3RvcjIKewogICAgICAgIGRvdWJsZSB4LCB5Owp9OwogCmRvdWJsZSBhbmdsZShWZWN0b3IyIGEsIFZlY3RvcjIgYikgLy8gb2JsaWN6IGvEhXQgcG9tacSZZHp5IHdla3RvcmFtaQp7CiAgICAgICAgcmV0dXJuIGFjb3MgKCAoYS54ICogYi54ICsgYS55ICogYi55KSAvICggc3FydCggcG93KGEueCwgMikgKyBwb3coYS55LCAyKSApICogIHNxcnQoIHBvdyhiLngsIDIpICsgcG93KGIueSwgMikgKSkgKTs7Cn0KCmRvdWJsZSBkZWcoZG91YmxlIHJhZCkgLy8gWmFtaWXFhCByYWRpYW55IG5hIHN0b3BuaWUKewoJcmV0dXJuIHJhZC9NX1BJKjE4MDsKfQogCmludCBtYWluKCkKewoJVmVjdG9yMiBhLCBiOwoJd2hpbGUoY2luPj5hLng+PmEueT4+Yi54Pj5iLnkpCgl7CgoJCWNvdXQ8PGRlZyhhbmdsZShhLCBiKSk8PGVuZGw7IC8vIFd5cGlzeiBrxIV0IHBvbWnEmWR6eSB3ZWt0b3JhbWkKCX0KIAoJcmV0dXJuIDA7Cn0=