어떤 대학교에서 새 통로를 만들려고 하는데, 통로의 적어도 일부에는 반드시 지붕(덮개)을 씌우려고 합니다. 통로 위에는 반드시 덮여야 하는 특정 지점들이 있습니다. 그 밖의 지점들은 덮이든 덮이지 않든 상관없습니다.
시공업체의 요금 정책은 다음과 같습니다. 통로의 위치 $x$부터 위치 $y$까지를 덮는 데는 $c + (x - y)^2$의 비용이 들며, 여기서 $c$는 상수입니다. $x = y$인 경우도 가능하며, 이때 비용은 그냥 $c$가 됩니다.
통로 위의 지점들과 상수 $c$가 주어질 때, 반드시 덮여야 하는 모든 지점을 덮는 최소 비용을 구하세요.
입력은 여러 개의 테스트 케이스로 이루어집니다. 각 테스트 케이스의 첫 줄에는 두 정수 $n$과 $c$가 주어집니다 ($1 \le n \le 1{,}000{,}000$, $1 \le c \le 10^9$). 여기서 $n$은 반드시 덮여야 하는 지점의 개수이고, $c$는 시공업체의 상수입니다. 이어지는 $n$개의 줄에는 각각 정수 하나가 주어지며, 이는 반드시 덮여야 하는 통로 위의 한 지점을 나타냅니다. 지점들은 작은 값부터 큰 값 순서로 주어집니다. 모든 지점은 $1$ 이상 $10^9$ 이하입니다. 입력은 두 개의 $0$만 있는 줄(0 0)로 끝나며, 이는 입력의 끝을 뜻합니다.
각 테스트 케이스마다 지정된 모든 지점을 덮는 최소 비용을 정수 하나로 출력합니다. 각 정수는 자기 줄에 공백 없이 출력하고, 답 사이에 빈 줄을 넣지 않습니다. 가능한 모든 입력에 대해 답은 부호 있는 64비트 정수 범위 안에 들어갑니다.