#P1181. 打扫

打扫

题目描述

枫同学是一个很喜欢整洁的人。

她看到茜同学留下的一排数字,决定把这些数字收拾整齐然后狠狠教训茜同学。

具体来说,茜同学留下了一个长度 nn 的数组 [a1,a2,⋯ ,an][a_1, a_2, \cdots, a_n],枫同学选择了三个整洁的数 x,y,zx, y, z。

她每次可以选择一个 aa 中的元素 aia_i,将 aia_i 换成 ai+1a_i + 1。

她决定让这个数组中至少各有一个元素是 xx 的倍数,yy 的倍数和 zz 的倍数。

她想尽快弄完去找茜同学,问你她至少要多少次操作才能满足要求?

输入格式

输入第一行四个整数 n,x,y,zn, x, y, z。

第二行 nn 个整数,代表数组 [a1,a2,⋯ ,an][a_1, a_2, \cdots, a_n]。

输出格式

输出一行一个整数,代表满足要求需要的最少操作次数。

6 2 3 5
1 1 4 5 1 4
2
5 6 10 14
1 9 1 9 8
10

数据范围

对于 30%30\% 的数据,n≤10n \leq 10; 对于另外 30%30 \% 的数据,x=yx=y; 对于 100%100 \% 的数据,$1 \leq n \leq 2\times 10^5,1 \leq x,y,z \leq 10^6, 1 \leq a_i \leq 10^{18}$。