B. Комбинация
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
256 megabytes
ввод
stdin
вывод
stdout

Илья играет в карточную игру со следующими правилами.

На руках у игрока имеется некоторое количество карт. На каждой карте написано по два целых неотрицательных числа — одно в верхней части карты и одно в нижней. В начале партии игрок выбирает одну из своих карт для отыгрыша. Если в верхней части карты написано число ai, а в нижней — bi, то при ее отыгрыше игрок получает ai очков и получает возможность сыграть дополнительно bi карт. После отыгрыша карта пропадает.

Более формально: пусть есть счетчик количества карт для отыгрыша, который в начале партии равен одному. При отыгрыше карты счетчик уменьшается на один за сыгранную карту и увеличивается на число bi, которое написано в нижней части карты. Далее сыгранная карта пропадает. Если после этого счетчик не равен нулю, игрок получает возможность сыграть еще одну карту из оставшихся. Игра заканчивается, когда счетчик становится равным нулю либо у игрока кончаются карты.

Разумеется, Илья хочет набрать побольше очков. Сможете ли Вы, зная его карты, определить максимальное количество очков, которое он может набрать?

Входные данные

В первой строке записано единственное целое число n (1 ≤ n ≤ 1000) — количество карт на руках у Ильи.

В следующих n строках записано по два целых неотрицательных числа, разделенных пробелом — ai и bi (0 ≤ ai, bi ≤ 104) — числа, записанные в верхней и нижней части i-ой карты соответственно.

Выходные данные

Выведите единственное число — максимальное количество очков, которое можно набрать за одну партию по описанным правилам.

Примеры
Входные данные
2
1 0
2 0
Выходные данные
2
Входные данные
3
1 0
2 0
0 2
Выходные данные
3
Примечание

В первом примере ни одна из двух карт не приносит дополнительных ходов, поэтому играть нужно ту, которая приносит больше очков.

Во втором примере сперва нужно сыграть третью карту, которая не приносит очков, но зато позволяет сыграть обе оставшиеся карты.