eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Разрезание торта

Разрезание торта

Паше на день рождения подарили торт. На этом торте есть два типа украшений --- розочки из крема и вишенки. Паша хочет отрезать себе кусочек торта таким образом, чтобы на нем была хотя бы одна розочка из крема, но не было ни одной вишенки. Если смотреть на торт сверху, то его можно представить как квадрат. Если ввести прямоугольную декартову систему координат с началом координат в центре торта и осями координат, параллельными сторонам торта, то координаты одного из углов торта будут равны (\textbf{--10^6}, \textbf{--10^6}), а противоположного угла --- (\textbf{10^6}, \textbf{10^6}). При этом все розочки из крема и вишенки находятся строго внутри этого квадрата. Для того чтобы отрезать себе кусочек торта, Паша хочет провести один прямолинейный разрез. При этом, чтобы разрезать было проще, он хочет, чтобы угол между прямой, по которой он будет резать, и осью \textbf{Ox} был как можно меньше. Ваша задача состоит в том, чтобы определить, может ли Паша разрезать торт описанным способом, и найти минимальный возможный угол между линией разреза и осью \textbf{Ox}. Если розочка из крема или вишенка находятся на линии разреза, то можно можно считать, что Паша так проводит разрез, что розочка или вишенка окажутся по ту сторону от разреза, по какую необходимо. На рисунке штрих-пунктирной линией показан оптимальный способ разрезания торта для первого примера. Точки, в которых расположены розочки, обозначены на рисунке красным цветом. Точки, в которых расположены вишенки, обозначены синим цветом. \includegraphics{https://static.e-olymp.com/content/12/121d48d40bfe1f3f8fc45f411b30bf075e586bdc.jpg} Рисунок. Расположение розочек и вишенок для первого примера \InputFile Первая строка содержит целое число \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{100000}) --- количество розочек из крема. Каждая из последующих \textbf{n} строк содержит по два целых числа --- координаты одной из розочек. Далее следует строка, содержащая целое число \textbf{m} (\textbf{1} ≤ \textbf{m} ≤ \textbf{100000}) --- количество вишенок. Каждая из последующих \textbf{m} строк содержит по два целых числа --- координаты одной из вишенок. Никакие две точки, в которых находятся розочки из крема и вишенки, не совпадают. Координаты розочек и вишенок строго меньше \textbf{10^6} по абсолютной величине. \OutputFile Если отрезать кусочек торта указанным способом невозможно, выведите в выходной файл слово \textbf{Impossible}. Иначе, выведите в выходной файл минимальный угол между осью \textbf{Ox} и прямой, описывающей разрез. Угол необходимо вывести в радианах, с точностью не хуже \textbf{10^\{--4\}}.
Ліміт часу 3 секунди
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
2
1 2
3 1
4
0 1
2 1
0 3
1 -1

Вихідні дані #1
0.5880026035
Джерело Russian-Code-Cup-2011 Финальный раунд