#2947. 无聊的博弈

无聊的博弈

题目描述

黑板上有一个整数 nn,小云和小雀要将 nn 拆成若干个大于 11 的整数,并进行一些操作。

每次操作有如下规则:一共有 mm 个数 a1,a2,,ama_1,a_2,\cdots,a_m 可供选择。小云先手,小雀后手。每次,小云可以选择不超过 xx 个数,小雀可以选不超过 yy 个数。

设选出的数下标可重集合SS,然后记 p=iSaip=\prod\limits_{i\in S}a_i。小云可以让某个数 ×p\times p,小雀可以让某个数 ÷p\div p前提是 pp 能整除那个数)。

若要求小雀可以把每一个整数都变成 11。问最少需要把 nn 拆成几份。

输入格式

第一行四个整数 n,m,x,yn,m,x,y

第二行 mm 个整数 a1,a2,,ama_1,a_2,\cdots,a_m

输出格式

输出一行一个整数,表示最少拆成几份才能满足要求。

如不能满足要求,输出 -1

样例输入 #1

12 3 3 2
2 3 4

样例输出 #1

-1

样例输入 #2

18 2 2 3
7 1

样例输出 #2

2

样例输入 #3

12 3 2 3
7 8 11

样例输出 #3

-1

提示

下表表示数据最大值。

Subtask nn mm x,yx,y aia_i 特殊性质 分值
1 1010 22 1010 10
2 50005000 55 10001000 A 1010
3 B 10
4 C 1010
5 60

特殊性质 A:保证 xyx\ge y

特殊性质 B:存在一个 ii,使得 n=aipn=a_i^p,其中 pp 是正整数。

特殊性质 C:保证 i=1mai=n\sum\limits_{i=1}^{m} a_i=n

对于 100%100\% 的数据,保证 2ain2\le a_i\leq n