小O正在玩一款打怪闯关的游戏。这款游戏一共有n关,小O需要按照顺序通过这些关卡。初始小O有h点血量。如果想通过第i关,需要先与第i关的boss战斗。这次战斗会让小O降低ai点血量,如果战斗后小O的血量小于等于0,那么他就会闯关失败。如果小O成功通过了第i关,那么它还会回复bi的血量。
小O为了通过这款游戏,准备了很多金币。使用一枚金币可以直接秒杀某一关的怪兽,并且之后还可以获得该关卡的血量回复。小O想知道如果自己想通过,那么需要最少花费多少枚金币?
小O正在玩一款打怪闯关的游戏。这款游戏一共有n关,小O需要按照顺序通过这些关卡。初始小O有h点血量。如果想通过第i关,需要先与第i关的boss战斗。这次战斗会让小O降低ai点血量,如果战斗后小O的血量小于等于0,那么他就会闯关失败。如果小O成功通过了第i关,那么它还会回复bi的血量。
小O为了通过这款游戏,准备了很多金币。使用一枚金币可以直接秒杀某一关的怪兽,并且之后还可以获得该关卡的血量回复。小O想知道如果自己想通过,那么需要最少花费多少枚金币?
第一行两个整数 n,h;
接下来 n 行,每行两个整数ai,bi。
一行一个整数,表示答案。
3 5 4 1 5 3 3 2
1
样例2输入
2 100
1 1
1 1
样例2输出
0
样例1说明:
小O会先挑战第一关的boss,血量降到1,然后回复1点血量,血量恢复到2。然后花费1金币秒杀第二关的boss,回复3血量,血量回复到4。然后挑战第三关的boss,血量降到1,然后回复2点血量,血量恢复到3。此时共花费一枚金币,挑战成功。
数据范围:
对于10%的数据,n<=2;
对于30%的数据,n<=10;
对于另外30%的数据,bi=0;
对于90%的数据,n<=1000;
对于所有数据,1<=n<=10^5,1<=h<=10^4,0<=ai,bi<=10^4。