Є карток, пронумерованих від до . Під час реалізації мовою C++ додайте директиву #define lll long long та використовуйте lll для 64-бітних цілих чисел. Під час реалізації мовою Python додайте на початку програми рядок lll = int та перетворюйте на число кожне прочитане значення викликом lll(...). Спочатку кожна картка була порожньою або містила одне додатне ціле число. Однакові числа могли бути записані на кількох картках. Початковий вміст карток невідомий.
З картками виконали операцій копіювання. Під час операції вміст картки замінювали вмістом картки . Вміст картки при цьому не змінювався. Якщо картка була порожньою, картка також ставала порожньою.
Вам відомі всі операції в порядку їх виконання. Також відомо, що після всіх операцій на картці записане число a_i. Отже, наприкінці всі картки непорожні.
Визначте найменшу можливу кількість карток, на яких спочатку були записані числа. Якщо отримати заданий кінцевий вміст карток неможливо, повідомте про це.
Приклад для n = 3 та m = 2
Перший рядок містить два цілі числа та (1 \le n \le 2 \cdot 10^5, 0 \le m \le 2 \cdot 10^5) — кількість карток і кількість операцій відповідно.
Другий рядок містить цілих чисел a_1, a_2, \ldots, a_n (1 \le a_i \le 10^9) — числа на картках після виконання всіх операцій.
Кожен із наступних рядків містить два цілі числа та (1 \le x, y \le n, x \ne y), які задають копіювання з картки на картку . Операції наведено в порядку їх виконання.
Виведіть одне ціле число — найменшу можливу кількість непорожніх карток на початку. Якщо отримати заданий кінцевий вміст карток неможливо, виведіть .
Приклад 1
Приклад 2
Приклад 3
Перший приклад зображено на малюнку вище. Спочатку на картці могло бути число , картка могла бути порожньою, а на картці — число . Після першої операції на картках будуть числа , а після другої — . Менше ніж двох непорожніх карток на початку недостатньо, оскільки копіювання не створює нових чисел.
У другому прикладі після копіювання з картки на картку їхній вміст має бути однаковим. Тому отримати числа та неможливо.
У третьому прикладі достатньо спочатку записати число лише на картці , а решту залишити порожніми. Після трьох операцій число буде на всіх картках.