Вектори
На площині задано множину точок (x, y)
, де x
та y
– цілі, 1 ≤ x ≤ M
, 1 ≤ y ≤ N
. З кожної точки виходить рівно один з наступних векторів: (-1
, -1
), (-1
, 0), (-1
, 1), (0, 1), (1, 1)
, (1, 0), (1, -1
), (0, -1
). Кожен вектор сполучає одну цілочисельну точку площини з іншою. Наприклад, якщо з точки (2, 5)
виходить вектор (1, 1)
, то він сполучає цю точку з (3, 6)
, але не навпаки.
Послідовність з двох і більше точок площини a[1]
, a[2]
, …, a[k]
назвемо циклом, якщо кожна точка a[i]
сполучена вектором з a[i]+1
(1 ≤ i
≤ k-1), та a[k]
сполучена вектором з a[1]
. Цикли вважаються різними, якщо вони відрізняються хоча б однією вершиною.
Напишіть програму, яка за інформацією про вектори, що виходять з точок площини, знаходить кількість різних циклів.
Вхідні дані
Перший рядок містить два цілих числа N
(1 ≤ N ≤ 100
) та M
(1 ≤ M ≤ 100
). Кожен з наступних N
рядків, містить M
пар чисел (тобто 2×M чисел). Пара x
, що знаходиться у рядку y
задає вектор у точці (x, y)
.
Вихідні дані
Вивести одне ціле число - кількість циклів, утворених векторами.