Пока не сказано иное, в задачах этого листка «точка» считается точкой на плоскости и задаётся парой декартовых координат.

A. Решение уравнения

Напишите программу, решающую уравнение Ax2+Bx+C=0 (где x — неизвестное).

Входные данные. Во входном файле записаны три числа A, B, C (по одному в строке). Каждое из этих чисел — целое и по модулю не превосходит 1000.

Выходные данные. В выходной файл выведите сначала количество корней этого уравнения, а затем сами эти корни в порядке возрастания, не меньше чем с тремя знаками после точки.
Если корней больше 1000, выведите одно число −1 (минус один).
Если корней нет, выведите 0 (ноль).

Пример вводаПример вывода
1 
0 
-2
2 -1.414 1.414
0 
1 
1
1 -1.000
1
2
3
0

B. Положение точек вне прямой

Даны координаты двух точек и уравнение прямой. Гарантируется, что точки не лежат на прямой. Требуется определить, лежат ли точки по одну или по разные стороны от заданной прямой.

Прямая задается уравнением вида Ax + By + C = 0, где A, B, C — коэффициенты, и на прямой лежат все точки (x, y), удовлетворяющие этому уравнению. Например, уравнение с коэффициентами A = 3, B = 0 и C = 6 (то есть 3x + 0y + 6 = 0) задает вертикальную прямую, проходящую через точку x = −2.

Вводятся семь целых чисел. Числа вводятся в следующем порядке: X1, Y1, X2, Y2, A, B, C, где
X1, Y1 — координаты первой точки, X2, Y2 — координаты второй точки,
A, B, C — коэффициенты уравнения прямой.

Выведите одну строку "YES", если точки лежат по одну сторону прямой, и "NO" в противном случае.

Пример вводаПример вывода
0
0
2
4
2
-1
-1
YES

C. Пересечение прямых

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

Входные данные. Вводятся сначала координаты двух различных точек, через которые проходит первая прямая, а затем — координаты еще двух различных (но, быть может, совпадающих с первыми двумя) точек, через которые проходит вторая прямая. Координаты каждой точки — целые числа, по модулю не превышающие 1000.

Первые 4 числа записаны в первой строке, следующие 4 числа — во второй строке.

Выходные данные. Если прямые не пересекаются, выведите одно число 0. Если прямые совпадают, выведите 2.
Если прямые пересекаются ровно в одной точке, то выведите сначала число 1, а затем два вещественных числа — координаты точки пересечения.

Пример вводаПример вывода
1 
1 
2 
2
1 
10 
2 
11
0
0 
0 
1 
1
1 
0 
-1 
2
1 0.5 0.5

D. Длина медианы

Заданы координаты трёх точек A, B, C. В треугольнике ABC построили медиану AM. Вычислите её длину.

Пример вводаПример вывода
0
0
-1
2
1
2
2

E. Длина высоты

Заданы координаты трёх точек A, B, C. В треугольнике ABC построили высоту AH. Вычислите её длину.

Пример вводаПример вывода
0
0
-1
2
1
2
2
0
0
-10
2
1
2
2