가재

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

문제

연못에 거북이 nn마리가 살고 있습니다. 이 연못에는 11번부터 nn번까지 번호가 붙은 집이 nn채 있고, 각 집에는 거북이가 정확히 한 마리씩 삽니다. 모든 거북이와 친구인 여행자 가재가 이 연못을 찾아와 집 한 채에 머물려고 합니다. 가재는 되도록 많은 친구를 방문할 수 있는 집을 고르고 싶어 합니다.

친구를 방문한다는 것은, 가재가 머무는 집에서 그 친구의 집까지 갔다가 다시 돌아오는 것을 뜻합니다. 가재는 자신이 머무는 집의 거북이는 방문한 친구 수에 세지 않습니다.

가재는 다음 규칙에 따라 일방통행 경로를 이용해 집 사이를 이동합니다.

  1. 가재는 주어진 경로로만 이동합니다.
  2. 모든 경로는 일방통행이며 서로 다른 두 집을 잇습니다. 같은 두 집을 잇는 경로가 여러 개일 수도 있습니다.
  3. 가재는 정방향 또는 역방향으로 이동합니다. 집 AA에서 정방향으로 이동할 때는, AA에서 BB로 가는 경로가 있으면 집 BB로 갈 수 있습니다. 역방향으로 이동할 때는, BB에서 AA로 가는 경로가 있으면 집 AA에서 집 BB로 갈 수 있습니다.
  4. 일부 경로는 특별한 경로입니다. 특별한 경로를 지난 직후 가재는 이동 방향을 뒤집습니다. 정방향이었으면 역방향으로, 역방향이었으면 정방향으로 바뀝니다. 가재는 이 방법이 아니고서는 방향을 바꿀 수 없습니다.
  5. 이동을 시작할 때 가재는 역방향으로 움직입니다. 친구의 집을 지나가는 것만으로는 방향이 바뀌지 않습니다. 이동이 끝날 때 가재는 다시 역방향으로 움직이고 있어야 합니다. (따라서 마지막으로 지나는 경로가 특별한 경로라면, 그 경로에 들어서기 직전에는 정방향으로 움직이고 있어야 합니다.)

연못의 경로들을 읽고, 각 집에 대해 가재가 그 집에 머문다면 방문할 수 있는 친구가 몇 명인지 출력하는 프로그램을 작성하세요.

입력

첫 번째 줄에 두 정수 nnmm이 주어집니다 (1n100001 \le n \le 10000, 1m1000001 \le m \le 100000). 각각 집의 수와 경로의 수를 나타냅니다. 이어지는 mm개의 줄에는 경로가 한 줄에 하나씩 주어지며, 각 줄에는 세 정수 aa, bb, ss가 있습니다 (1a,bn1 \le a, b \le n, aba \ne b, s{0,1}s \in \{0, 1\}). aa는 경로의 시작 집, bb는 도착 집이며, s=1s = 1일 때에만 그 경로는 특별한 경로입니다.

출력

정확히 nn개의 줄을 출력합니다. ii번째 줄에는 정수 하나를 출력하며, 이는 가재가 집 ii에 머문다면 방문할 수 있는 친구의 수입니다.

힌트

아래 그림은 집이 다섯 채이고 경로가 다섯 개인 연못을 보여 줍니다.

가재가 집 11에 머물면 집 22, 33, 44를 방문할 수 있습니다. 집 22에 머물면 집 33, 44, 55를, 집 33에 머물면 집 22, 44, 55를, 집 44에 머물면 집 22, 33, 55를 방문할 수 있습니다. 집 55에 머물면 친구를 한 명도 방문할 수 없습니다.