EduBrick

B. Ориентированный угол

1000 мс · 256 МБ · всё или ничего

Те же два вектора, что в классной задаче B, но угол нужен ориентированный: от первого вектора ко второму, со знаком, из промежутка (−π,π](-\pi, \pi].

Формат ввода

В первой строке - число запросов qq (1≤q≤1051 \le q \le 10^5).

В следующих qq строках - по четыре целых числа: координаты двух ненулевых векторов, по модулю не больше 10510^5.

Формат вывода

Для каждого запроса выведите ориентированный угол от первого вектора ко второму в радианах с точностью 10−610^{-6}.

Примеры

ввод
4
1 0 0 1
0 1 1 0
1 0 -1 0
1 0 1 0
вывод
1.5707963267948966
-1.5707963267948966
3.141592653589793
0
ввод
2
2 1 1 2
1 2 2 1
вывод
0.6435011087932844
-0.6435011087932844
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.