#L3154. 「JOI Open 2019」汇款

「JOI Open 2019」汇款

题目描述

译自 JOI Open 2019 T2「送金/ Remittance

JOI 王国的河狸湖边有 NN 座房子,按逆时针方向给房子从 11NN 编号。

站在湖所在的位置看,每一座房子可以给它左边相邻的房子汇款,即:对于房子 i (1iN1)i\ (1\le i\le N-1),它左边的房子是房子 i+1i+1,对于房子 NN,它左边的房子为房子 11。然而,汇一笔款的手续费等于汇款金额。汇款金额必须是一个整数。当你汇款的时候,你必须交手续费,所以汇款钱数和手续费之和不能超出房子里的钱数。

目前,房子 i (1iN)i\ (1\le i\le N) 里有 AiA_i 元。另一方面,从收税的角度来看,我们希望房子 ii 里的钱数等于 BiB_i。因此你希望利用汇款系统使得房间 ii 里钱数等于 BiB_i 元。你不能通过除给别的房子汇款和交手续费之外的方式花掉钱。

给定每座房子目前有的钱数和期望钱数,写一个程序判断能否使得每间房子都达到期望的钱数。

输入格式

第一行一个整数 NN,表示房子数目;

接下来 NN 行,每行两个非负整数 Ai,BiA_i,B_i,分别表示房子 ii 的目前钱数和期望钱数。

输出格式

如果能让所有房子内钱数等于期望钱数,输出 Yes,否则输出 No

样例

样例 1

输入

5
0 0
1 0
2 3
3 3
4 0

输出

Yes

样例说明

例如,按以下方法,可以让所有房子内钱数等于期望钱数。

  • 从房子 5 给房子 1 汇 2 元,并交手续费 2 元;
  • 从房子 1 给房子 2 汇 1 元,并交手续费 1 元;
  • 从房子 2 给房子 3 汇 1 元,并交手续费 1 元。

样例 2

输入

5
0 0
1 2
2 4
3 2
4 0

输出

No

样例说明

通过汇款系统,你不可能使得所有房子的钱数等于期望钱数。


样例 3

输入

2
1 1
2 1

输出

No

样例说明

注意汇款金额必须是整数。


样例 4

输入

2
1 1
2 2

输出

Yes

样例说明

你不需要使用汇款系统。

数据范围与提示

对于全部数据,1N1061\le N\le 10^60Ai,Bi1090\le A_i,B_i\le 10^9

详细子任务附加限制及分值如下:

子任务 附加限制 分值
1 N7N\le 7Ai,Bi5A_i,B_i\le 5 15 分
2 N20N\le 20 40 分
3 无附加限制 45 分