I. Странный процесс
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Даны три массива:

  • массив $$$a$$$, изначально состоящий из $$$n$$$ единиц;
  • массив $$$b$$$, изначально состоящий из $$$m$$$ нулей;
  • массив $$$c$$$, состоящий из $$$m$$$ целых чисел от $$$1$$$ до $$$50$$$.

Мы производим следующий процесс над этими массивами. Процесс состоит из $$$m$$$ этапов. Во время $$$i$$$-го этапа происходит следующее:

  1. сначала для каждого элемента массива $$$a$$$ независимо выбирается одно из трех действий: он умножается на какое-то простое число, делится на какое-то простое число (нельзя делить на такое число, на которое элемент не делится нацело), или остается без изменений. Для разных элементов $$$a$$$ необязательно выбирать одно и то же действие и/или простое число;
  2. затем вы можете либо пропустить этот шаг, либо выбрать любое такое $$$k$$$, что $$$a_k = c_i$$$, и присвоить $$$b_i = k$$$.

Назовем массив из $$$m$$$ чисел от $$$0$$$ до $$$n$$$ достижимым, если его можно получить в результате этого процесса как массив $$$b$$$.

Ваша задача — посчитать количество достижимых массивов.

Входные данные

В первой строке заданы два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n, m \le 10^4$$$).

Во второй строке заданы $$$m$$$ целых чисел $$$c_1, c_2, \dots, c_m$$$ ($$$1 \le c_i \le 50$$$).

Выходные данные

Выведите одно целое число — количество достижимых массивов, взятое по модулю $$$998244353$$$.

Примеры
Входные данные
4 3
4 2 3
Выходные данные
21
Входные данные
2 4
1 2 3 4
Выходные данные
51
Входные данные
1 2
47 34
Выходные данные
3