바이톤 트리

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

문제

바이톤은 바이톤 트리에서 자라는 희귀한 열매입니다. 바이톤은 잎가지, 즉 다른 가지가 뻗어 나오지 않는 가지에서만 열립니다.

하나의 잎가지에 열린 모든 바이톤은 같은 수확 가능 구간, 즉 딸 수 있는 시간 구간을 공유합니다. 너무 일찍 따면 덜 익고, 너무 늦게 따면 썩습니다. 바이톤 트리의 주인은 모든 바이톤을 모으되, 각 바이톤이 따는 바로 그 순간에 익어 있도록 하면서 가능한 한 적은 횟수로 자르고 싶어 합니다.

자르기는 가지의 밑동에서 이루어집니다. 어떤 가지를 자르면 그 가지에 직접 또는 하위 가지를 통해 열린 모든 바이톤이 즉시 수확됩니다. 한 단위 시간 안에 원하는 만큼 여러 번 자를 수 있으며, 줄기 자체도 하나의 가지로 취급합니다.

트리가 주어질 때, 모든 바이톤을 수확하면서 수확되는 모든 바이톤이 따는 순간에 익어 있도록 하는 데 필요한 최소 자르기 횟수를 구하세요.

입력

입력은 바이톤 트리를 줄기부터 재귀적으로 기술한 한 줄입니다. 하나의 가지는 그 가지에서 자라는 하위 가지의 개수 kk로 시작합니다. k=0k = 0이면 그 가지는 잎가지이며, 뒤에 두 정수 aia_ibib_i (1aibi1091 \le a_i \le b_i \le 10^9)가 오는데, 이는 그 가지에 열린 바이톤의 수확 가능 구간의 시작과 끝 시각입니다. k>0k > 0이면 그 뒤에 kk개의 하위 가지에 대한 기술이 이어집니다. 전체 가지의 개수는 10610^6을 넘지 않습니다.

출력

모든 바이톤을 수확하면서 각 바이톤이 따는 순간에 익어 있도록 하는 데 필요한 최소 자르기 횟수를 정수 하나로 출력하세요.

힌트

예시에서 바이톤은 세 개의 잎가지에 열려 있고, 그림의 구간들은 각각의 수확 가능 구간을 나타냅니다. 두 번 자르면 모두 수확할 수 있습니다. 예를 들어 한 가지는 시각 55에, 다른 가지는 시각 88에 자르면 됩니다.