털모자 장사

각 상인은 L번 마을부터 R번 마을까지 매일 1씩 오른 가격을 제시하고 각 마을은 제시된 가장 높은 가격을 출력합니다.

보통4세그먼트 트리구간면접 대비아직 제출이 없습니다시간 제한2초메모리 제한64 MB

문제

알마티와 타라즈를 잇는 고속도로 주변에 마을 NN개가 있고, 1번부터 NN번까지 차례로 번호가 붙어 있다. 겨울이 시작되자 상인 MM명이 이 마을에서 털모자를 팔기 시작했다. 상인은 규칙 두 가지를 지킨다. 한 마을에서는 하루만 장사하고, 날마다 가격을 올린다.

ii번 상인은 이렇게 움직인다.

  1. LiL_i번 마을에서 가격 XiX_i로 장사를 시작한다.
  2. 하루가 지날 때마다 번호가 1 큰 옆 마을로 옮긴다. 어제 jj번 마을에서 팔았다면 오늘은 j+1j+1번 마을에서 판다.
  3. 하루가 지날 때마다 가격을 1 올린다. 어제 가격이 xx였다면 오늘 가격은 x+1x+1이다.
  4. RiR_i번 마을에서 털모자를 팔고 나면 장사를 그만둔다.

마을마다 겨울 동안 그 마을에서 매겨진 가격 가운데 가장 높은 값을 구하라.

입력

첫째 줄에 마을 수 NN과 상인 수 MM이 주어진다 (1N3000001 \le N \le 300000, 1M3000001 \le M \le 300000).

다음 MM개 줄에 정수 세 개 LiL_i, RiR_i, XiX_i가 주어진다 (1LiRiN1 \le L_i \le R_i \le N, 1Xi1091 \le X_i \le 10^9). 차례대로 ii번 상인이 처음 장사한 마을 번호, 마지막으로 장사한 마을 번호, 시작 가격이다.

출력

정수 NN개를 한 줄에 공백 한 칸으로 구분해 출력한다. ii번째 수는 ii번 마을에서 매겨진 가장 높은 가격이다. 장사가 한 번도 없었던 마을은 0을 출력한다.