【样例解释】
可以生成的满足要求的不同的数列有 $(1,1,1,1)$、$(1,1,2,2)$、$(1,2,1,2)$、$(1,2,2,1)$、$(2,1,1,2)$、$(2,1,2,1)$、$(2,2,1,1)$、$(2,2,2,2)$。
【数据范围与提示】
对于 $10\%$ 的数据,$1 \leq N \leq 1000$;
对于 $30\%$ 的数据,$3 \leq M \leq 100$;
对于 $60\%$ 的数据,$3 \leq M \leq 800$;
对于全部的数据,$1 \leq N \leq 10^9,\ 3 \leq M \leq 8000$,$M$ 为质数,$1 \leq x \leq M-1$,输入数据保证集合 $S$ 中元素不重复。