yyym 的同学剑心魂曾经非常喜欢某款由米忽悠开发的二字游戏...
某天,米忽悠在SCNU南海校区举办了一场算法竞赛【做梦呢...】,只要能成功的 AK 比赛拿到兑换码就可以获得1500 原石
为了获得这价值不菲的奖励,剑心魂绞尽脑汁却无法AK,于是只能另辟蹊径去找黄牛 ljx 购买兑换码,不过剑心魂对兑换码的真伪产生了怀疑,于是找到你让你帮忙判断。
排列的定义如下 :
一个长度为 k 的排列是一个包含 1 \sim k 中所有数的数组,1 \sim k 中每个数都要出现,每个数都只能出现一次
[3,4,2,1] 就是一个排列; 而 [2,3,3] 不是排列,因为少了一个 1 并且 3 出现了两次
输入
兑换码 x(0 \le x \le 10^{12}) , x 是一个整数。
注意数据范围,要开 long long!
输出
如果是正确方式生成的兑换码, 请输出 YES ;
否则输出 NO ;
样例
标准输入 复制文本 |
15 |
标准输出 复制文本 |
YES |
标准输入 复制文本 |
9 |
标准输出 复制文本 |
NO |
提示
对于 Sample 1 , 我们发现排列 [5,3,1,2,4] 的和是 15
对于 Sample 2, 我们无法找到对应的排列