통신망

아직 제출이 없습니다시간 제한2.5초메모리 제한1024 MB

문제

통신망은 NN개의 컴퓨터와 MM개의 회선으로 구성된다. 컴퓨터는 11번부터 NN번까지 번호가 붙어 있다. 하나의 회선은 서로 다른 22개의 컴퓨터가 양방향으로 통신할 수 있도록 한다. 통신망의 어떤 두 컴퓨터도 하나 이상의 회선을 이용해서 통신이 가능하면 통신망은 연결되어 있다고 한다. 통신이 불가능한 컴퓨터의 쌍이 존재하는 경우 통신망은 끊어져 있다고 한다.

통신망의 한 회선 cc위험도는 다음과 같이 정의된다.

  • 통신망의 각 컴퓨터 ii에 대해서, 컴퓨터 ii를 제거했을 때 남은 통신망이 끊어져 있는 경우 컴퓨터 ii위험한 컴퓨터라고 한다.
  • 초기 통신망에서 cc를 제거했을 때, 위험한 컴퓨터의 개수를 cc의 위험도로 정의한다.

통신망을 입력으로 받아 각 회선의 위험도를 계산하는 프로그램을 작성하라.

입력

첫째 줄에 두 정수 NNMM이 주어진다. (2N250,0002 \le N \le 250\\,000, 1M1,000,0001 \le M \le 1\\,000\\,000)

다음 MM개의 줄에는 회선의 정보가 주어진다. ii번째 줄에는 x_ix\_i, y_iy\_i가 있고, ii번 회선은 x_ix\_i번 컴퓨터와 y_iy\_i번 컴퓨터가 회선으로 연결되어 있음을 의미한다. (1x_i,y_iN,x_iy_i1 \le x\_i, y\_i \le N, x\_i \neq y\_i).

출력

MM개의 줄을 출력한다. ii번째 줄에는 ii번 회선의 위험도를 출력한다.

제한

  • 2N250,0002 \le N \le 250\\,000
  • 1M1,000,0001 \le M \le 1\\,000\\,000
  • 한 회선은 서로 다른 두 컴퓨터를 연결한다.
  • 동일한 쌍의 컴퓨터를 연결하는 회선이 여러 개 있을 수 있다.
  • 초기 통신망은 연결되어 있다.