Оборона крепости

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

문제

Стена осаждённой крепости состоит из nn участков, пронумерованных от 1 до nn. Разведка доложила, что при следующем штурме противник отправит для нападения на участок с номером ii отряд из a_ia\_i солдат. Для обороны крепости на участки стены будут направлены ss защитников.

Участки стены различаются качеством укреплений, что приводит к различной эффективности обороны. Один защитник участка стены с номером ii способен отразить атаку k_ik\_i нападающих.

Пусть на участок с номером ii отправлено x_ix\_i защитников. Тогда если количество нападающих не превышает величину x_ik_ix\_i \cdot k\_i, то на этом участке ни один из нападающих не прорвётся в крепость. Иначе в крепость прорвутся a_ix_ik_ia\_i - x\_i \cdot k\_i нападающих.

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

입력

Первая строка входных данных содержит целые числа nn --- количество участков стены и ss --- количество защитников крепости (1n100,0001 \leq n \leq 100\\,000; 1s1091 \leq s \leq 10^9).

Следующие nn строк содержат по два целых числа a_i,k_ia\_i, k\_i --- общее количество нападающих на ii-й участок стены и количество нападающих, которое может отразить один защитник этого участка (1a_i,k_i1091 \leq a\_i, k\_i \leq 10^9).

출력

Выходные данные должны содержать единственное целое число --- минимальное количество прорвавшихся в крепость нападающих.

힌트

В первом тесте, если поставить всех 10 защитников на единственный участок, они смогут отбить всех нападающих, и никто не пройдёт в крепость. Во втором примере можно, например, направить двух защитников на первый участок и одного --- на третий.