### Problem Statement

There are N stones, numbered 1, 2, …, N. For each i (1 ≤ i ≤ N), the height of Stone i is hi. Here, h1 < h2 < … < hN holds.

There is a frog who is initially on Stone 1. He will repeat the following action some number of times to reach Stone N:

• If the frog is currently on Stone i, jump to one of the following: Stone i + 1, i + 2, …, N. Here, a cost of (hj - hi)2 + C is incurred, where j is the stone to land on.

Find the minimum possible total cost incurred before the frog reaches Stone N.

### Constraints

• All values in input are integers.
• 2 ≤ N ≤ 2 × 105
• 1 ≤ C ≤ 1012
• 1 ≤ h1 < h2 < … < hN ≤ 106

### Input

Input is given from Standard Input in the following format:

```N C
h1 h2 … hN```

### Output

Print the minimum possible total cost incurred.

```5 6
1 2 3 4 5
```

### Sample Output 1

```20
```

If we follow the path 135, the total cost incurred would be ((3 - 1)2 + 6) + ((5 - 3)2 + 6) = 20.

### Sample Input 2

```2 1000000000000
500000 1000000
```

### Sample Output 2

```1250000000000
```

The answer may not fit into a 32-bit integer type.

### Sample Input 3

```8 5
1 3 4 5 10 11 12 13
```

### Sample Output 3

```62
```

If we follow the path 12458, the total cost incurred would be ((3 - 1)2 + 5) + ((5 - 3)2 + 5) + ((10 - 5)2 + 5) + ((13 - 10)2 + 5) = 62.

### Submitting .cpp to 'Frog 3'

Time Limit: 1 Seconds
Memory Limit: 1024MB