Зведення простими числами#13085

Зведення простими числами

2 секунди
512 мегабайтів

Фаді любить гратися з масивами. Йому дано масив , що складається з додатних цілих чисел. Його кінцева мета — звести кожен елемент масиву рівно до за мінімальну кількість операцій.

За одну операцію Фаді може:

Друг Фаді кидає йому виклик, багаторазово змінюючи масив. Є оновлень. У кожному оновленні Фаді дано два цілих числа та , що означає: він має замінити елемент з індексом на (a_{idx} = x).

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

Оновлення накопичуються. Операції насправді не виконуються і не впливають на подальші оновлення.

Вхідні дані

Перший рядок містить одне ціле число (1 \le t \le 10^4) — кількість тестових випадків.

Перший рядок кожного тестового випадку містить два цілих числа та (1 \le n, q \le 5 \cdot 10^5) — розмір масиву та кількість оновлень.

Другий рядок містить цілих чисел a_1, a_2, \dots, a_n (1 \le a_i \le 10^7) — початкові елементи масиву.

Далі йдуть рядків. Кожен рядок містить два цілих числа та (1 \le idx \le n, 1 \le x \le 10^7), які описують оновлення.

Гарантується, що сума по всіх тестових випадках не перевищує 5 \cdot 10^5, а сума по всіх тестових випадках не перевищує 5 \cdot 10^5.

Вихідні дані

Для кожного тестового випадку виведіть рядків. -й рядок має містити одне ціле число — мінімальну кількість операцій, необхідних Фаді, щоб зробити всі елементи масиву рівними після -го оновлення.

Приклади

Приклад 1

Loading
Loading

Примітка

У першому тестовому випадку початковий масив a = [12, 6, 12, 2].

Після першого оновлення масив стає a = [12, 1, 12, 2]. Мінімальна кількість операцій дорівнює :

  • Застосувати операції до a_1 (p \in \{2, 2, 3\}).

  • Застосувати операції до підвідрізка . Операція з p=2 застосовується одночасно до a_3 та a_4, тоді як операції з p \in \{2, 3\} застосовуються лише до a_3.

Після другого оновлення масив стає a = [12, 1, 2, 2]. Мінімальна кількість операцій дорівнює :

  • Застосувати операції до a_1 (p \in \{2, 2, 3\}).

  • Застосувати операцію до підвідрізка (p=2).

У другому тестовому випадку масив спочатку дорівнює a = [30, 30, 30]. Після першого оновлення він стає a = [30, 1, 30]. Оскільки a_2 = 1, решта елементів не можуть мати спільних операцій. Ми застосовуємо операції (p \in \{2, 3, 5\}) до a_1 та операції до a_3, разом операцій.

Оцінювання

  • Підзадача ( балів): \sum n \le 2000 та \sum q \le 2000.

  • Підзадача ( балів): 1 \le a_i, x \le 1000.

  • Підзадача ( балів): Без додаткових обмежень.