Козак Вус та цукерки
Козак Вус дуже любить стрибати, а також любить цукерки. Одного разу його занесло на числову пряму, у певних цілочисельних точках якої лежали цукерки (у кожній точці не більше одної цукерки). Вус нечувано зрадів та вирішив зібрати якомога більше цукерок. Для цього він може вибрати будь-яке ціле число і початкову позицію ( "— ціле число), після чого він стрибками довжини побуває у всіх точках вигляду , де "— невід'ємне ціле число. Коли Вус потрапляє в точку, у якій є цукерка, то він підбирає її з землі (хоча так робити не можна!).
Допоможіть Вусу зібрати якомога більшу кількість цукерок.
Вхідні дані
Перший рядок містить два цілі числа та () "— кількість цукерок та номер блоку, відповідно.
Другий рядок містить цілих чисел () "— позиції, у яких знаходяться цукерки. Гарантується, що всі попарно різні.
Протокол взаємодії
Вам потрібно реалізувати одну функцію:
integer solve(integer n, integer g, array of integers m)
"— кількість цукерок;
"— номер блока;
"— масив із позицій цукерок;
ця функція має повертати одне ціле число "— максимальну кількість цукерок, яку може зібрати Вус.
Вихідні дані
У єдиному рядку буде виведена максимальна кількість цукерок, що зможе зібрати Вус.
Приклади
5 0 1 2 3 4 7
3
7 0 1 2 10 4 7 3 13
5
Примітка
У першому прикладі Козак може вибрати та підібрати цукерки на позиціях .
У другому прикладі Козак може вибрати та підібрати цукерки на позиціях .
Оцінювання
( бали) ; ;
( балів) ; ;
( балів) ; ;
( балів) ; ;
( балів) ; ;
( бали) без додаткових обмежень.