2011. Genshin~启动 !! AK 3

yyym 的同学剑心魂曾经非常喜欢某款由米忽悠开发的二字游戏...

某天,米忽悠在SCNU南海校区举办了一场算法竞赛【做梦呢...】,只要能成功的 AK 比赛拿到兑换码就可以获得1500 原石

为了获得这价值不菲的奖励,剑心魂绞尽脑汁却无法AK,于是只能另辟蹊径去找黄牛 ljx 购买兑换码,不过剑心魂对兑换码的真伪产生了怀疑,于是找到你让你帮忙判断。

1695964739505.jpg
已知一个验证码 x 是由以下的过程产生的:
  • 系统生成一个长度为任意值的随机排列 {a_n}
  • 将排列 {a_n}中的所有值相加得到和 S
  • 这个 S 就是最终的兑换码

排列的定义如下 :

一个长度为 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, 我们无法找到对应的排列

登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 1013
通过 208