#P1017. [QY-003-Div.4] B.钥匙

[QY-003-Div.4] B.钥匙

题目描述

公钥和私钥是一对不同却匹配的钥匙,只有使用匹配的钥匙,才能完成对明文的加密解密。

蒟蒻 @Lelzy 正在研究对六位正整数的明文 nn 进行加密解密,使得任意一个六位正整数 nn 明文经过加密解密都可以得到原来的明文,方法如下:

加密需要公钥 aa,解密需要私钥 bb,其中 aabb 均为正整数,则密文 mmn×an \times a,解密后的明文为取 m×bm \times b 的后六位。

  • 明文加密后得到密文密文解密后得到明文

  • 加密即为明文 nn 乘以公钥 aa 得到密文 mm

  • 解密即为密文 mm 乘以私钥 bb 并取其后六位得到明文 nn

现在 @Lelzy 得到了一个公钥 aa,你需要帮他找出匹配的私钥 bb,使得任意一个明文 nn 经过加密解密后都可以得到原来的明文。

输入格式

一个正整数 aa,表示公钥。

输出格式

一个正整数 bb,表示私钥。若匹配的 bb 有多个,则输出最小的一个。

若无法找到能匹配的私钥,输出 “NO”,不含双引号。

101
9901
13
NO

样例解释

对于任意一个六位正整数 nnn×101n \times 101 得到密文 mmm×9901m \times 9901 后取后六位又会得到 nn,因此 10110199019901 是一对匹配的公钥与私钥。

数据规模与约定

对于 30%30 \% 的数据,10a100010 \le a \le 1000

对于 100%100 \% 的数据,10a,b9999910 \le a,b \le 99999

给新手的温馨提示:运算过程 int 类型存储时可能会超出,记得开 long long