coin
题号:NC251500
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

题目背景

 假如我那时握住的不是硬币,而是 ...

题意简述

Rikka 和 Yuuta 在玩游戏,每一次他们会抛一枚硬币,正面向上的概率是 p,反面向上的概率是 1-p。若硬币掷出正面,那么这局 Rikka 获胜,否则 Yuuta 获胜。

在任意时刻,如果存在一个时间段,使得在该时间段内某个人比另个人多获胜 n 次,那么这个人赢得游戏,游戏结束。(例如 n=3,硬币掷出 反反正正反正正,在时刻 7 Rikka 获胜)

求出 Rikka 获胜的概率。

输入描述:

第一行一个整数 T,表示询问组数。

接下来 T 行,每行两个整数 n,p 表示一组询问。

输出描述:

输出 T 行,每行一个整数表示答案在模 998244353 意义下的值,可以证明答案在模意义下存在。
示例1

输入

复制
2
233 634336464
59093912 743410448

输出

复制
60595366
392543410

备注:

T\leq 3\times10^52\leq n<9982443530\leq p<998244353