果冻利用训练好的人偶和员工,成功制作了异世界的第一款二次元氪金卡牌手游,给异世界带来了巨大的文化冲击,一时成为现象级爆款。果冻并未满足,在贤者禾枫的建议下,果冻打算制作一款包含原世界所有内容的大型游戏,起名为果核大陆。
由于开发周期过长,果冻打算使用增量发布。最初发布的版本只保留最核心的玩法,其余玩法在后续版本加入。考虑到模块耦合度,最开始有 n 组模块,第 i 个模块单独在第 i 组,价值为 2^{n^2+i}。模块和组编号均从 1 到 n 连续。
现在有 n-1 种合并方案,第 k 种合并方案有 k 次合并。在第 j 次合并,首先找到编号为 ((j+k)\bmod n)+1 的模块所在组和编号为 ((j+k)^2\bmod n)+1 的模块所在组。若它们是同一组,将选择其中一个组更改为该组的下一个组(若存在编号更大的组,则是首个编号比它大的组;若不存在,则是当前编号最小的组),然后合并这两个组为编号更大的组。合并时,先把编号较小组的所有模块放入编号较大的组,然后删除编号较小组。合并后编号较大的组价值不变。
为尽可能多合并,果冻想找到最大整数的 k ,满足合并后剩余各组价值之积大于 (p!)^p 。
输入
输入一行两个整数 n,p 。
对 20\% 分数的数据, 1\le n\le6,0\le p\le6
对 40\% 分数的数据, 1\le n\le6\times10^3,0\le p\le1.5\times10^5
对 80\% 分数的数据, 1\le n\le10^5,0\le p\le10^5
对 100\% 分数的数据, 1\le n\le5\times10^5,0\le p\le5\times10^5
输出
若能找到这样的 k ,输出一行一个整数 k ;否则,输出 impossible
。
样例
标准输入 复制文本 |
6 6 |
标准输出 复制文本 |
4 |
标准输入 复制文本 |
6 1 |
标准输出 复制文本 |
5 |
标准输入 复制文本 |
6 10 |
标准输出 复制文本 |
impossible |
提示
对 n=6 ,有 5 种方案,依次剩下的组编号为 (1,2,4,5,6),(1,2,3,6),(3,4,6),(4,6),(6) 。