#P5645. 解题

解题

题目描述

过去的日子里,农夫John{John}的牛没有任何题目. 可是现在他们有题目,有很多的题目. 精确地说,他们有P(1<=P<=300){P (1 <= P <= 300) }道题目要做. 他们还离开了农场并且象普通人一样找到了工作.

他们的月薪是M(1<=M<=1000){M (1 <= M <= 1000) }元. 他们的题目是一流的难题,所以他们得找帮手.

帮手们不是免费的,但是他们能保证在一个月内作出任何题目.每做一道题需要两比付款, 第一笔Ai(1<=Ai<=M){A_i(1 <= A_i <= M) }元在做题的那一个月初支付, 第二笔Bi{B_i}(1<=Bi<=M){(1 <= B_i <= M)}在做完后的下一个月初支付.

每一个月牛们用上一个月挣的钱来付款. 牛没有任何存款意识, 所以每个月的节余都回拿用去买糖吃掉了. 因为题目是相互关连的,它们必须按大概顺序解出.

比如,题目3{3}必须在解题目4{4 }之前或同一个月解出. 找出牛们做完所有题目并支付完所有款项的最短月数.

输入格式

第一行: N{N }P{P}

2...P+1{2...P+1}行: 第i{i}行包含Ai{A_i}Bi,{B_i, }分别是做第i{i}道题的欲先付款和完成付款.

输出格式

第一行: 牛们做完题目和付完帐目的最少月数

样例

输入样例

100 5
40 20
60 20
30 50
30 50
40 40

输出样例

6

提示

输入解释:

牛们的月薪是100{100}元. 他们有5{5}道题目要做, 预期付款分别为 40,60,30,30,{40, 60, 30, 30,} 40,{40, }完成付款分别为 20,{20,}20,50,50,40.{20, 50, 50, 40.}

img