PivotOJ

통행료

시간 제한: 1000ms메모리 제한: 2048MB출처: KOI 2025 2차BOJ 34203

문제

KOI 도시는 11번 건물부터 NN번 건물까지 NN개의 건물로 이루어져 있으며, 11번 도로부터 MM번 도로까지 MM개의 양방향 도로가 각 건물을 연결하고 있다. 각 도로는 서로 다른 두 건물을 연결하며, 이 중 ii번 도로는 uiu_i번 건물과 viv_i번 건물을 양방향으로 연결한다. 이때, 임의의 두 건물 사이를 도로들을 이용해 오갈 수 있다.

원래 KOI 도시의 각 도로는 무료로 이용할 수 있었다. 즉, 모든 도로의 통행료는 00원이었다. 그러나, KOI 도시의 시장인 정올이는 KOI 도시의 재정난을 극복하기 위해, MM일에 걸쳐 각 도로에 통행료를 부과하려고 한다. 구체적으로, 정올이는 ii번째 날에 ii번 도로의 통행료를 11원으로 변경한다. 이에 따라, MM일이 모두 지나면 모든 도로의 통행료는 11원이 될 것이다.

aa번 건물과 bb번 건물 사이의 최소 이동 비용aa번 건물에서 bb번 건물로 이동하기 위해 필요한 총 통행료의 최솟값으로 정의하고, f(a,b)f(a, b)로 표기하자. a=ba = b라면 f(a,b)=0f(a, b) = 0이다.

도로망의 총 비용은, 가능한 모든 두 건물의 쌍 사이의 최소 이동 비용의 합으로 정의한다. 즉, 모든 1 ≤ a, b ≤ N인 자연수 aabb에 대해 f(a,b)f(a, b)의 값을 계산한 후 이를 모두 합친 값이 도로망의 총 비용이다. 이를 수학 기호로 표기하면, 도로망의 총 비용은 a=1Nb=1Nf(a,b)\sum_{a=1}^{N}\sum_{b=1}^{N}f(a, b)가 된다.

정올이는 통행료 변화가 시민들에게 어떤 영향을 줄지 분석하려고 한다. 당신은 정올이를 도와, ii번째 날이 끝난 이후 도로망의 총 비용을 계산해야 한다.

입력

첫 번째 줄에 NNMM이 공백으로 구분되어 주어진다.

다음 MM개의 줄에는 도로의 정보가 주어진다. 이 중 ii (1 ≤ i ≤ M)번째 줄에는 두 정수 uiu_i, viv_i가 공백으로 구분되어 주어진다.

출력

MM개의 줄을 출력한다. 이 중 ii (1 ≤ i ≤ M) 번째 줄에는, ii번째 날이 끝난 이후 도로망의 총 비용을 출력한다.

예제

예제 1

입력
4 4
1 2
2 3
3 1
3 4
출력
0
6
10
16

예제 2

입력
4 4
2 3
3 1
3 4
1 2
출력
0
8
14
16
코드를 제출하려면 로그인하세요.