만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

쌍 세기

시간 제한4초메모리 제한256 MB

요약
자기 고리와 평행 간선을 허용하는 무방향 다중 그래프에서, 두 정점에 붙은 간선 수의 합이 k보다 큰 쌍의 개수를 각 질의마다 구한다.
난이도

어려움10점 중 8점

유형
그래프, 정렬, 누적 합, 투 포인터
정답자
아직 제출이 없습니다

문제

정점 NN개와 간선 MM개로 이루어진 무방향 그래프 GG가 주어진다. 정점은 11부터 NN까지 번호가 매겨져 있다.

a<ba < b인 정점 쌍 (a,b)(a, b)를 생각하자. (a,b)(a, b)의 관련도는 양 끝점 가운데 적어도 하나가 aa 또는 bb인 간선의 총 개수로 정의한다.

QQ개의 질의에 답해야 한다. 각 질의는 정수 kk로 주어지며, GG에서 a<ba < b이면서 (a,b)(a, b)의 관련도가 kk보다 큰 정점 쌍 (a,b)(a, b)의 개수를 묻는다.

입력

첫째 줄에 정점의 수와 간선의 수를 나타내는 두 정수 NN과 MM이 주어진다 (1≤N,M≤1061 \le N, M \le 10^6).

이어서 MM개의 줄이 주어진다. ii번째 줄에는 ii번째 간선의 양 끝점 xix_i와 yiy_i가 주어진다 (1≤xi,yi≤N1 \le x_i, y_i \le N). 자기 루프나 중복 간선이 있을 수 있다.

다음 줄에는 질의의 수를 나타내는 정수 QQ가 주어진다 (1≤Q≤1061 \le Q \le 10^6).

이어서 QQ개의 줄이 주어진다. ii번째 줄에는 ii번째 질의를 나타내는 정수 kik_i가 주어진다 (1≤ki≤1061 \le k_i \le 10^6).

출력

각 질의마다 답을 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    4 5
    1 2
    2 4
    1 3
    2 3
    2 1
    2
    2
    3
    
    예상 출력
    6
    5