Задача B. Разделение королевства

Автор:А. Малова, В. Демьянюк (Жюри XXI командной олимпиады школьников СПб по информатике)   Ограничение времени:2 сек
Входной файл:division.in   Ограничение памяти:256 Мб
Выходной файл:division.out  

Условие

Королевство Флатландия имеет вид бесконечной двумерной плоскости. В королевстве находится n замков. Для более удобного составления карт в Флатландии была введена Декартова система координат. Известно, что i-й замок находится в точке с координатами (xi+0.5, yi+0.5), где xi, yi — целые числа. Местоположения всех замков попарно различны.

На старости лет король решил разделить на карте королевство между своими сыновьями прямыми, параллельными осям координат. Если прямая параллельна оси Ox, то y координата у всех точек на прямой должна быть целым числом, иначе x координата у всех точек должна быть целым числом. В обоих случаях соответствующие целые координаты по модулю не должны превышать 2 ⋅ 109. При этом Его величество хочет, что бы после разделения королевства любые два замка оказались бы в различных частях.

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

Формат входного файла

В первой строке задано целое число n (1 ≤ n ≤ 100 000) — количество замков в королевстве. В следующих n строках записано по два числа xi и yi (109 ≤ xi ≤ 109, 109 ≤ yi ≤ 109) — целые части координат замков.

Формат выходного файла

В первой строке выходного файла выведите количество используемых прямых. В следующих строчках выведите сами прямые, по одной в каждой строке. Если прямая параллельна оси Ox, то выведите символ y, а затем через пробел y координату всех точек на этой прямой, иначе выведите символ x, а затем через пробел x координату всех точек на этой прямой.

Примеры тестов

Входной файл (division.in) Выходной файл (division.out)
1
4
0 2
0 3
1 2
1 3
2
x 1
y 3

0.040s 0.008s 17