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

문제

새로운 해적 범선을 만들고 있다. 이 배에는 $N$개의 돛대(기둥)가 있으며, 각 돛대는 단위 길이의 칸으로 나뉜다. 돛대의 높이는 그 돛대가 가진 칸의 개수와 같다. 각 돛대에는 여러 개의 돛이 달리는데, 돛 하나는 칸 하나에 정확히 들어맞는다. 한 돛대에 달린 돛들은 그 돛대의 칸들 사이에 자유롭게 배치할 수 있지만, 한 칸에는 돛을 최대 한 개만 달 수 있다.

돛의 배치 방식에 따라 바람에서 얻는 추진력이 달라진다. 같은 높이에서 다른 돛보다 앞쪽에 있는 돛은 바람을 덜 받아 추진력에 덜 기여한다. 각 돛에 대해, 그 돛과 같은 높이에 있으면서 그 돛보다 뒤쪽에 있는 돛의 개수를 그 돛의 비효율(inefficiency)로 정의한다. 여기서 "앞"과 "뒤"는 배의 방향을 기준으로 하며, 아래 그림에서 "앞"은 왼쪽, "뒤"는 오른쪽을 뜻한다.

한 배치의 전체 비효율은 모든 돛의 비효율을 합한 값이다.

여섯 개의 돛대에 배치된 돛

그림의 배는 돛대가 6개이며, 앞(왼쪽)에서 뒤(오른쪽)로 높이가 각각 3, 5, 4, 2, 4, 3이다. 그림에 나온 배치의 전체 비효율은 10이며, 각 돛 안에 적힌 숫자가 그 돛의 비효율이다.

$N$개의 돛대 각각의 높이와 돛의 개수가 주어질 때, 가능한 가장 작은 전체 비효율을 구하는 프로그램을 작성하라.

입력

첫째 줄에 돛대의 개수 $N$ ($2 \le N \le 100,000$)이 주어진다.

다음 $N$개의 줄에는 각 돛대의 높이 $H$와 돛의 개수 $K$가 두 정수로 주어진다 ($1 \le H \le 100,000$, $1 \le K \le H$). 돛대는 배의 앞에서 뒤 순서로 주어진다.

출력

가능한 가장 작은 전체 비효율을 정수 하나로 출력한다.

결과는 32비트 정수의 범위를 넘을 수 있으므로, 계산과 출력에는 64비트 정수 자료형(예: C/C++의 long long)을 사용해야 한다.