카페바자르의 체스 토너먼트

시간 제한2초메모리 제한512 MB

요약
각 참가자의 시작 실력과 마무리 실력이 주어질 때, 새로운 참가자가 서로 다른 실력을 자유롭게 골라 얻을 수 있는 서로 다른 최종 점수의 개수를 센다.
난이도

어려움10점 중 8점

유형
기하, 정렬, 이분 탐색, 수학
정답자
아직 제출이 없습니다

문제

Ali는 카페바자르의 샤베 얄다 축제를 맞아 매년 체스 토너먼트를 연다. 체스 토너먼트에서 참가자 두 명은 서로 정확히 한 번씩 경기를 치른다. 또한 승리하면 1점, 무승부면 0.5점, 패배하면 0점이 토너먼트 점수에 반영된다.

Danial은 Ali의 토너먼트 결과를 예측하는 시스템을 만들었다. 경험을 바탕으로 토너먼트 참가자 n명 각각에 시작 실력과 종료 실력을 부여했다. i번째 참가자의 시작 실력을 oio_i, 종료 실력을 eie_i라고 하자. i번째 참가자와 j번째 참가자의 경기에서 Danial은 다음 규칙에 따라 경기 결과를 정한다.

  1. oi>ojo_i > o_j이고 ei>eje_i > e_j이면 i번째 참가자가 승리한다.
  2. oj>oio_j > o_i이고 ej>eie_j > e_i이면 j번째 참가자가 승리한다.
  3. 그 외의 경우에는 무승부로 끝난다.

Ali는 토너먼트를 더 흥미롭게 만들기 위해 Danial을 나머지 n명의 참가자와 함께 토너먼트에 초대하려 한다. Danial은 체스 경험이 전혀 없기 때문에 토너먼트를 위해 연습하려 한다. 연습량에 따라 Danial은 어떤 시작 실력과 종료 실력이든 가질 수 있다. 하지만 Danial은 Ali에게 자신의 시작 실력이 다른 참가자의 시작 실력과 다르도록 연습하겠다고 약속했다. 종료 실력도 다른 참가자의 종료 실력과 다르게 유지한다.

Ali는 광고 캠페인을 위해 Danial이 위 규칙에 따라 얻을 수 있는 서로 다른 최종 점수의 개수를 알고 싶어 한다. 예를 들어 Danial은 예제에서 0, 1.5, 2.5, 3, 4, 5점을 얻을 수 있다. 예를 들어 3점은 Danial의 시작 실력과 종료 실력을 모두 1.5로 설정하면 얻는다. Ali와 다른 카페바자르 프로그래머들은 행사 준비로 바쁘기 때문에 당신에게 도움을 청했다. 이 값을 계산하는 프로그램을 작성하라.

입력

입력의 첫째 줄에는 참가자 수를 나타내는 정수 nn이 주어진다. (1≤n≤200 0001 \le n \le 200\,000)

다음 nn개 줄의 i번째 줄에는 i번째 참가자의 시작 실력과 종료 실력 oio_i, eie_i가 주어진다. (1≤oi,ei≤n1 \le o_i, e_i \le n)

시작 실력과 종료 실력의 범위 제한은 Danial의 시작 실력과 종료 실력에는 적용되지 않는다. 특히 Danial의 시작 실력과 종료 실력은 임의의 실수일 수 있다.

출력

한 줄에 Danial이 얻을 수 있는 서로 다른 최종 점수의 개수를 출력한다.

예제1

  1. 예제 1

    입력
    5
    1 1
    1 2
    1 1
    2 1
    2 2
    
    예상 출력
    6