싸지방에 간 준하

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

문제

대한민국 해군에 복무 중인 준하는 문제를 풀려고 매일 사이버 지식 정보방, 줄여서 싸지방에 간다. 그런데 최근 이용자가 몰려 컴퓨터가 모자라게 됐다. 준하는 곧 전역하는 선임을 설득해 민원을 넣게 했고, 부대는 민원을 받아들여 컴퓨터를 늘리기로 했다. 자리마다 사용률이 다르니 많이 쓰이는 자리에는 성능이 좋은 컴퓨터를 놓을 계획이다.

예산이 부족해 사람 수만큼 컴퓨터를 살 수는 없다. 대신 준하는 모든 사람이 늘 정해진 시간에만 싸지방을 이용한다는 사실을 알아냈다.

컴퓨터 자리에는 1번부터 차례대로 번호가 붙어 있다. 사람은 싸지방에 들어오면 비어 있는 자리 중 번호가 가장 작은 자리에 앉는다. 이용을 마친 자리는 곧바로 비고, 뒤에 들어오는 사람이 그 자리에 앉는다.

아무도 기다리지 않고 싸지방을 이용하려면 컴퓨터가 최소 몇 대 필요한지, 그리고 그만큼 자리를 놓았을 때 자리마다 몇 명이 사용하는지 구하시오.

입력

첫째 줄에 사람의 수 NN이 주어진다. (1N100000)(1 \le N \le 100\,000)

둘째 줄부터 NN개의 줄에 각 사람의 이용 시작 시각 PP와 종료 시각 QQ가 공백을 두고 주어진다. (0P<Q1000000)(0 \le P \lt Q \le 1\,000\,000)

입력에 나오는 2N2N개의 시각은 모두 서로 다르다. 즉 두 사람의 시작 시각이나 종료 시각이 같은 경우도 없고, 어떤 시작 시각이 다른 사람의 종료 시각과 같은 경우도 없다.

출력

첫째 줄에 아무도 기다리지 않게 하는 컴퓨터의 최소 개수 XX를 출력한다.

둘째 줄에 1번 자리부터 XX번 자리까지 순서대로 각 자리를 사용한 사람의 수를 공백으로 구분해 출력한다.