B - Make Multiples Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 400

問題文

整数列 A=(A_1,\ldots,A_N) および,正整数 a,b,c が与えられます.

あなたはこの数列に対して,以下の操作を(0 回を含め)何回でも行うことができます.

  • 1\leq i\leq N となる整数 i をひとつ選ぶ.A_iA_i+1 で置き換える.

あなたの目的は,数列 A の中に,a の倍数,b の倍数,c の倍数がいずれもひとつ以上存在するようにすることです. 目的を達成するために必要な操作回数の最小値を求めてください.

制約

  • 1\leq N\leq 2\times 10^5
  • 1\leq a, b, c \leq 10^6
  • 1\leq A_i\leq 10^{18}

入力

入力は以下の形式で標準入力から与えられます.

N a b c
A_1 \cdots A_N

出力

目的を達成するために必要な操作回数の最小値を出力してください.


入力例 1

3 3 4 5
8 9 11

出力例 1

2

操作を 2 回行い A = (8,10,12) とすることで目的を達成できます.


入力例 2

3 3 4 5
14 11 59

出力例 2

1

操作を 1 回行い A = (14,11,60) とすることで目的を達成できます.


入力例 3

6 10 20 30
8 17 5 28 39 13

出力例 3

3

操作を 3 回行い A = (8,17,5,30,40,13) とすることで目的を達成できます.


入力例 4

1 999997 999998 999999
123456789123456789

出力例 4

876537210887543205

操作を 876537210887543205 回行い A = (999994000010999994) とすることで目的を達成できます.

Score : 400 points

Problem Statement

You are given an integer sequence A=(A_1,\ldots,A_N) and positive integers a, b, and c.

You can perform the following operation on this sequence any number of times, possibly zero.

  • Choose an integer i such that 1\leq i\leq N. Replace A_i with A_i+1.

Your objective is to make the sequence A contain at least one multiple of a, at least one multiple of b, and at least one multiple of c. Find the minimum number of operations required to achieve this objective.

Constraints

  • 1\leq N\leq 2\times 10^5
  • 1\leq a, b, c \leq 10^6
  • 1\leq A_i\leq 10^{18}

Input

The input is given from Standard Input in the following format:

N a b c
A_1 \cdots A_N

Output

Print the minimum number of operations required to achieve the objective.


Sample Input 1

3 3 4 5
8 9 11

Sample Output 1

2

You can perform the operation twice so that A = (8,10,12) to achieve the objective.


Sample Input 2

3 3 4 5
14 11 59

Sample Output 2

1

You can perform the operation once so that A = (14,11,60) to achieve the objective.


Sample Input 3

6 10 20 30
8 17 5 28 39 13

Sample Output 3

3

You can perform the operation three times so that A = (8,17,5,30,40,13) to achieve the objective.


Sample Input 4

1 999997 999998 999999
123456789123456789

Sample Output 4

876537210887543205

You can perform the operation 876537210887543205 times so that A = (999994000010999994) to achieve the objective.