Alice와 Bob은 "정수 그래프"를 이용한 놀이를 즐겨한다.
"정수 그래프"는 노드와 간선의 수가 무한한 방향성이 없는 그래프인고, 다음과 같이 정의한다.
-
노드: 모든 양의 정수 z에 대응되는 고유한 노드가 존재한다. 따라서, 임의의 노드는 해당 노드의 정수로 나타낼 수 있다.
-
간선: 어떤 노드 x와 y가 아래 조건 중 하나를 충족하면 둘 사이에 간선이 존재한다.
- x>y 라면: x의 1이 아닌 약수 중 가장 작은 수가 d일 때, x/d=y라면 두 노드 사이에 간선이 존재한다. 해당 간선의 길이는 d이다.
- x<y 라면: y의 1이 아닌 약수 중 가장 작은 수가 d일 때, y/d=x라면 두 노드 사이에 간선이 존재한다. 해당 간선의 길이는 d이다.
-
일반적인 그래프와 마찬가지로 최단 경로를 정의하며, dist(x,y)는 두 노드 x, y 사이의 최단 경로의 길이를 나타낸다. 이때 길이는 해당 최단 경로에 속한 간선의 길이의 총합이다.
예를 들어, 아래 그림은 "정수 그래프"의 일부를 보여 준다. 가령 노드 10과 20사이에는 길이 2인 간선이 존재하고, 노드 25와 5사이에는 길이 5인 간선이 존재한다.

두 아이는 정수 그래프를 이용해서 아래와 같은 놀이를 하기로 했다:
- 먼저 Alice가 n개의 양의 정수 v_1,v_2,…,v_n를 고른다 (같은 정수를 여러 번 고를 수도 있다). 그리고 D를 다음과 같이 정의한다: \(D = \sum_{1 \le i \lt j \le n} dist(v_i, v_j)\) 즉, D값은 Alice가 고른 정수들 각 쌍에 대하여 그에 해당하는 두 노드 사이의 최단 경로 길이의 총합이다.
- 다음으로, Bob이 n개의 정수 중 하나를 빼고, 나머지 n−1개의 정수에 대하여 마찬가지로 D값을 새로 계산한다. 즉, 1이상 n이하의 정수 중 k번째 정수를 빼고, 새로 계산할 D값을 E(k)라고 한다면: \( E(k) = \sum_{1 \le i \lt j \le n, i \ne k, j \ne k} dist(v_i, v_j) \)가 된다. 이때 Bob은 E(k)값이 최소가 되도록 하고 싶다.
예를 들어 Alice가 v_1=10, v_2=15, v_3=25를 골랐을 경우를 살펴보자.
- dist(v_1,v_2)=5, dist(v_2,v_3)=8, dist(v_3,v_1)=7이 되어 D=5+8+7=20이다.
- Bob이 v_1을 제거하면 v_2,v_3만 남게 되어 E(1)=8이다.
- Bob이 v_2을 제거하면 v_1,v_3만 남게 되어 E(2)=7이다.
- Bob이 v_3을 제거하면 v_1,v_2만 남게 되어 E(3)=5이다.
입력으로 Alice가 선택한 n개의 정수가 주어졌을 때, Bob이 달성할 수 있는 E(k)의 최소값을 구해보자.