eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Вектори

Вектори

На площині задано множину точок (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), але не навпаки.

Послідовність з двох і більше точок площини a1, a2, , ak назвемо циклом, якщо кожна точка ai сполучена вектором з ai+1 (1 ≤ ik-1), та ak сполучена вектором з a1. Цикли вважаються різними, якщо вони відрізняються хоча б однією вершиною.

Напишіть програму, яка за інформацією про вектори, що виходять з точок площини, знаходить кількість різних циклів.

prb676

Вхідні дані

Перший рядок містить два цілих числа N (1 ≤ N ≤ 100) та M (1 ≤ M ≤ 100). Кожен з наступних N рядків, містить M пар чисел (тобто 2×M чисел). Пара x, що знаходиться у рядку y задає вектор у точці (x, y).

Вихідні дані

Вивести одне ціле число - кількість циклів, утворених векторами.

Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
2 4 
-1 1 -1 1 -1 0 0 1
1 0 1 0 0 -1 0 -1
Вихідні дані #1
2
Автор Шаміль Ягіяєв
Джерело 2004 XVII Всеукраїнська олімпіада з інформатики, Харків, Березень 28 - Квітень 3, тур 1