한 마을 주민들은 인기 드라마를 즐겨 봅니다. 이 드라마는 마을 구석구석까지 닿는 케이블 방송망을 통해 각 집으로 전달됩니다. 방송망은 n개의 노드와 m개의 단방향 연결로 이루어져 있으며, 모든 노드에는 최소한 한 채의 집이 연결되어 있습니다.
일부 노드는 송출 노드로 지정되어 방송이 그 노드로 직접 전송됩니다. 어떤 집에서 드라마를 볼 수 있으려면, 어떤 송출 노드에서 그 집이 연결된 노드까지 (직접 연결이 아니어도 되는) 연결 경로가 존재해야 합니다. 비용을 최소화하기 위해 송출 노드의 수는 가능한 한 적어야 합니다.
그런데 고질라가 마을에 나타났습니다. 고질라는 케이블 방송망을 먹이로 삼아 하루에 연결 하나씩을 먹어 치웁니다. 방송 사업자는 시청자를 잃을 수 없으므로, 공격이 있을 때마다 모든 집이 여전히 드라마를 볼 수 있도록 송출 노드를 다시 지정해야 합니다. k번의 공격 각각에 대해, 그 공격 직후에 필요한 송출 노드의 최소 개수를 구하세요.
첫째 줄에 두 정수 n과 m (1≤n,m≤100000)이 주어지며, 각각 방송망의 노드 수와 연결 수를 나타냅니다.
이어지는 m개의 줄에는 각각 두 정수 a와 b (1≤a,b≤n, a=b)가 주어지며, 노드 a에서 노드 b로 향하는 단방향 연결을 나타냅니다. 한 쌍의 노드 사이에는 같은 방향의 직접 연결이 최대 하나만 존재하며, 각 연결은 입력에 정확히 한 번씩 등장합니다. 연결에는 입력에 등장한 순서대로 1번부터 번호가 매겨집니다.
그다음 줄에는 공격받는 연결의 수를 나타내는 정수 k (1≤k≤m)가 주어집니다. 이어지는 k개의 줄에는 매일 공격받는 연결의 번호가 공격 순서대로 하나씩 주어집니다.
정확히 k개의 줄을 출력합니다. i번째 줄에는 정수 하나를 출력하며, 이는 처음 i번의 공격이 끝난 뒤(즉, 처음 i개의 공격받은 연결이 모두 제거된 상태에서) 모든 집이 드라마를 볼 수 있도록 하기 위해 필요한 송출 노드의 최소 개수입니다.