给定一个长度为 n−1 的非负整数数组 f。我们定义 di,j=min。同时对于任意 1 \le i \le n, 我们定义 f'_{i} = \sum_{j=1}^{i-1} d_{j,i-1} + \sum_{j=i}^{n-1} d_{i,j}。
现在你获得了 f'_1,f'_2, \cdots, f'_n 的值,你需要判断是否存在一个对应的长度为 n-1 的非负整数数组 f,满足上述条件。
输入格式
第一行一个整数 n。
第二行 n 个非负整数,分别表示 f'_1,f'_2,\cdots,f'_n。
输出格式
如果存在符合条件非负整数数组 f:
第一行输出 'Yes',第二行输出 n-1 个非负整数,第 i 个表示 f_i;
如果不存在符合条件非负整数数组 f:
第一行输出 'No'。
样例数据
样例输入
3
2 3 3
样例输出
Yes
1 2
子任务
对于全部的数据,满足 1\le n\le 80,0\le f'_i\le 10^8。
- Subtask1(11pts):n\le 5,满足性质 A。
- Subtask2(15pts):n\le 8。
- Subtask3(13pts):n\le 14。
- Subtask4(25pts):n\le 50。满足性质 B。
- Subtask5(17pts):n\le 50。
- Subtask6(19pts):无特殊限制。
性质 A:保证如果存在合法的解,则至少存在一个合法的解满足所有数均小于 20。
性质 B:保证如果存在合法的解,则至少存在一个合法的解满足所有数均小于 50。