eolymp
bolt
Try our new interface for solving problems
Problems

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

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

Time limit 3 seconds
Memory limit 256 MiB

Паше на день рождения подарили торт. На этом торте есть два типа украшений — розочки из крема и вишенки. Паша хочет отрезать себе кусочек торта таким образом, чтобы на нем была хотя бы одна розочка из крема, но не было ни одной вишенки.

Если смотреть на торт сверху, то его можно представить как квадрат. Если ввести прямоугольную декартову систему координат с началом координат в центре торта и осями координат, параллельными сторонам торта, то координаты одного из углов торта будут равны (–10^6, –10^6), а противоположного угла — (10^6, 10^6). При этом все розочки из крема и вишенки находятся строго внутри этого квадрата.

Для того чтобы отрезать себе кусочек торта, Паша хочет провести один прямолинейный разрез. При этом, чтобы разрезать было проще, он хочет, чтобы угол между прямой, по которой он будет резать, и осью Ox был как можно меньше.

Ваша задача состоит в том, чтобы определить, может ли Паша разрезать торт описанным способом, и найти минимальный возможный угол между линией разреза и осью Ox.

Если розочка из крема или вишенка находятся на линии разреза, то можно можно считать, что Паша так проводит разрез, что розочка или вишенка окажутся по ту сторону от разреза, по какую необходимо.

На рисунке штрих-пунктирной линией показан оптимальный способ разрезания торта для первого примера. Точки, в которых расположены розочки, обозначены на рисунке красным цветом. Точки, в которых расположены вишенки, обозначены синим цветом.

Рисунок. Расположение розочек и вишенок для первого примера

Input data

Первая строка содержит целое число n (1n100000) — количество розочек из крема. Каждая из последующих n строк содержит по два целых числа — координаты одной из розочек.

Далее следует строка, содержащая целое число m (1m100000) — количество вишенок. Каждая из последующих m строк содержит по два целых числа — координаты одной из вишенок.

Никакие две точки, в которых находятся розочки из крема и вишенки, не совпадают. Координаты розочек и вишенок строго меньше 10^6 по абсолютной величине.

Output data

Если отрезать кусочек торта указанным способом невозможно, выведите в выходной файл слово Impossible.

Иначе, выведите в выходной файл минимальный угол между осью Ox и прямой, описывающей разрез. Угол необходимо вывести в радианах, с точностью не хуже 10^{–4}.

Examples

Input example #1
2
1 2
3 1
4
0 1
2 1
0 3
1 -1

Output example #1
0.5880026035
Source Russian-Code-Cup-2011 Финальный раунд