연락

시간 제한3초메모리 제한1024 MB

요약
M번의 연락처 교환이 끝날 때마다 서로 연락 가능한 남녀 쌍 개수의 최솟값을 구해 출력한다.
난이도

보통10점 중 7점

유형
유니온 파인드, 그래프, 조합론, 수학
정답자
아직 제출이 없습니다

문제

11번부터 NN번까지 NN명의 사람들은 친목 도모를 위해 주기적으로 모임을 개최한다. ii번 사람의 주민등록번호 뒷자리의 첫 번째 숫자는 c_ic\_{i}이다. c_ic\_{i}가 1,3,5,7,91, 3, 5, 7, 9 중 하나이면 남성, 0,2,4,6,80, 2, 4, 6, 8 중 하나면 여성이다.

한 번의 만남에서, 한 쌍의 사람들이 서로 전화번호를 교환한다. ii번째 모임에서 전화번호를 교환하는 사람은 a_ia\_{i}번 사람과 b_ib\_{i}번 사람이다.

전화번호를 교환한 두 사람은 서로 연락 가능하다. 또한, 임의의 aa, bb, cc에 대해 aa번 사람과 bb번 사람이 연락 가능하고 bb번 사람과 cc번 사람이 연락 가능하다면, aa번 사람과 cc번 사람도 연락 가능하다.

모임은 총 MM번 진행되었다. i=1,2,⋯ ,Mi = 1, 2, \cdots, M에 대하여, ii번째 회의가 끝난 직후 서로 연락 가능한 남녀 쌍의 개수의 최솟값을 구하여라.

입력

첫째 줄에 모임에 참석하는 사람의 수 NN과 개최된 모임의 수 MM이 공백으로 구분되어 주어진다.

두 번째 줄에 정수 c_1,c_2,⋯ ,c_Nc\_{1}, c\_{2}, \cdots, c\_{N}이 공백으로 구분되어 주어진다. c_ic\_{i}는 ii번 사람의 주민등록번호 뒷자리의 첫 번째 숫자이다.

세 번째 줄부터 MM개의 줄에 걸쳐, MM개의 모임에 관한 정보가 주어진다. 2+i2 + i번째 줄에는 ii번째 모임에서 전화번호를 교환하는 a_ia\_{i}와 b_ib\_{i}가 공백으로 구분되어 주어진다.

출력

첫 번째 줄부터 MM개의 줄에 걸쳐, 답을 출력한다. ii번째 줄에 ii번째 모임 시점에서 서로 연락 가능한 남녀 쌍의 개수의 최솟값을 출력한다.

제한

  • 2≤N≤100,0002 \leq N \leq 100\\, 000
  • 1≤M≤200,0001 \leq M \leq 200\\, 000
  • 0≤c_i≤9(1≤i≤N)0 \leq c\_{i} \leq 9(1 \le i \le N)
  • 1≤a_i,b_i≤N(1≤i≤M)1 \leq a\_{i}, b\_{i} \leq N(1 \le i \le M)
  • a_i≠b_i(1≤i≤M)a\_{i} \neq b\_{i}(1 \le i \le M)

예제2

  1. 예제 1

    입력
    4 3
    3 4 3 4
    2 3
    3 4
    2 4
    
    예상 출력
    1
    2
    2
    
  2. 예제 2

    입력
    4 5
    1 3 5 7
    1 2
    2 3
    1 4
    4 2
    3 1
    
    예상 출력
    0
    0
    0
    0
    0