水题(water)
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

存在一个函数 f(n), n \in \mathbb{N}^*,且这个函数满足下面的一个关系:
\sum_{i=1}^{n} f(i)^2 = f(n) \times f(n + 1)
对于某一个正整数 x,若满足存在一个数 k \in \mathbb{N}^*,使得 f(k) = x,则求出 x 的阈值在 m 进制下的末尾 0 的个数;若不满足上述条件,输出 z 后的方案数。
(z = x \% \min(13, m) + 1)
其中,f(1)=1;f(2)=1;Z皇后的方案数:即在Z×Z的棋盘上放置Z个皇后,使其互不攻击的方案数。

输入描述:

输入数据共一行,两个正整数x,m,意义如“题目描述”。

输出描述:

一个正整数k,表示输出结尾0 的个数或者放置皇后的方案数
示例1

输入

复制
375 16

输出

复制
14200

说明

对于 100\% 的数据,1\leq x \leq 1,000,000,000,000,000,000,2\leq m \leq 100
鸣谢真·dalao  Tyxao