王母娘娘又双叒叕来难为茶山牛了
题号:NC210627
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

我们每个人应该都听过牛郎和织女的传说,但是你们知道吗?牛郎的真名其实叫做————茶山牛
经过茶山牛不懈的努力,王母娘娘终于同意了让他跟织女见上一面,但是必须得解决王母娘娘的一个问题。
王母娘娘给出两个数字n,m,要求茶山牛在1s内回答出的值(即n的阶乘的阶乘的阶乘对m取模后的值),这可真是难为茶山牛了,毕竟一心只想见到织女,所以你能帮助他解决这个问题吗?

输入描述:

多组输入,第一行一个正整数t()表示数据组数
每组数据包含两个整数n,m()

输出描述:

对于每组数据,输出答案
示例1

输入

复制
2
2 6553
2 2

输出

复制
2
0

说明

在样例中,(2 ! ! !) = 2,对6553取模为2

备注:

那么问题来了,织女的真名又是什么呢?