10849. Розваги з вимірником


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Діма виявив у тата на столі спеціальний креслярський прилад, схожий на циркуль – вимірювач. Вимірювач відрізняється від звичайного циркуля тим, що в обох його ніжках знаходяться голки (у звичайного циркуля в одній ніжці знаходиться голка, а в іншій - грифель).

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

Увечері тато знайшов аркуш, з яким розважався Діма, і вирішив з'ясувати, яку відстань між голками вимірювача Діма міг встановити. Все, що знає тато – координати дірок, зроблених голками вимірювача. Допоможіть Папі вирішити поставлене завдання.

Формат вхідних даних

У першому рядку вводиться число \(𝑛\) - кількість дірок (\(2 \le 𝑛 \le 1000\)).

Наступні \(n\) рядків містять по два цілих числа - координати дірок. Координати не перевищують \(10^4\) абсолютної величини.

Формат вихідних даних

У першому рядку виведіть \(𝑘\) - кількість різних відстаней, які Діма міг встановити між голками вимірювача.

Наступні \(k\) рядків повинні містити шукані відстані по одному дійсному числу в рядку. Відстані мають бути виведені у зростаючому порядку. Кожне число має бути виведене з точністю не менше ніж \(10^{-9}\).

Гарантується, що існує принаймні одна відстань, яку Діма міг встановити між голками вимірника.

Приклад вхідних даних

4
0 0
1 1
1 0
0 1

Приклад вихідних даних

2
1.0
1.4142135623730951

Коментарі

Ще немає коментарів.