明日方舟永远的神
题号:NC207950
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

热烈庆祝沈阳航空航天大学开源软件协会(SAU OSSA)成立,OSSA前身是沈阳航空航天大学PostgreSQL数据库协会,随着成员的不断增多,经过半年多的沉淀,现已积攒大量的沈航ACM协会、沈航计算机博弈协会,创意IT俱乐部以及众多的软件开发和数媒设计人才,加上计算机学院的大力支持,背靠科技文化中心的优秀资源,最终融合成立OSSA。
面试预计会于20届学生会纳新同步进行,届时请关注公众号:沈航创意IT俱乐部

炮姐最喜欢玩明日方舟了,但是她实在没有钱让她的干员满级满潜了,她看着氪金大佬羡慕不已,所以她就想如何做一款游戏让氪金大佬付出更多的代价,终于在一个月黑风高的夜晚,她构思好了一款游戏,介绍如下。

这款游戏非常简单,只需要不停的抽到干员,就可以融合成更高的干员,当然她们穿的也就越少,甚至还会有语音包,肯定一本万利,不过炮姐觉得那样还是太简单,于是制定了如下规则,如果没抽到的干员则抽到一次则积累一个一星,三个一星可以合成一个两星,四个两星可以合成一个三星,以此类推。由于这是测试版,所以炮姐良心发现帮你写好了表达式:

现在炮姐想知道得到一个NN<=10000000)星干员需要抽到多少次该干员,以计算她能所得的收入,但是炮姐很快发现不对劲,这个数可能非常非常大,大家都知道炮姐非常喜欢出大数,所以这次她又一次良心发现,不让你求大数了.

问题如下:



输入描述:

输入数据有多组,对于每组输入,输入两个整数n,p,其中n表示想要得到的n星干员,p表示公式中的模数。
其中1<=n<=10000000, p 在longlong范围内且必定是素数。

输出描述:

对于每组输入,如果存在,则输出一个整数b,否则输出”To warmly celebrate the establishment of OSSA”(不加引号)。

示例1

输入

复制
2 1000000007

输出

复制
1

说明

F[2] = 3 , 3! = 6 ,6的位数是1, 1 * 1 ≡ 1 mod 1000000007 所以b为 1 

备注:

出题人:签到题
审题人:???
验题人:!!!