#2304. 「NOI2017」泳池

内存限制:512 MiB 时间限制:3000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 11Dimensions

题目描述

久莲是个爱玩的女孩子。

暑假终于到了,久莲决定请她的朋友们来游泳,她打算先在她家的私人海滩外圈一块长方形的海域作为游泳场。然而大海里有着各种各样的危险,有些地方水太深,有些地方有带毒的水母出没。她想让圈出来的这一块海域都是安全的。

经过初步分析,这块海域可视为一个底边长为 NN 米,高为 10011001 米的长方形网格。其中网格的底边对应着她家的私人海滩,每一个 1m×1m1\:\textrm{m}\times1\:\textrm{m} 的小正方形都代表着一个单位海域。她拜托了她爸爸明天去测量每一个小正方形是否安全。在得知了信息之后,她要做的就是圈出她想要的游泳场啦。

她心目中理想的游泳场满足如下三个条件:

  • 必须保证安全性。即游泳场中的每一个单位海域都是安全的。
  • 必须是矩形。即游泳场必须是整个网格中的一个 a×ba\times b 的子网格。
  • 必须和海滩相邻。即游泳场的下边界必须紧贴网格的下边界。

例如:当 N=5N = 5 时,若测量的结果如下(因为 10011001 太大,这儿只画出网格最下面三行的信息,其他部分都是危险的)。

Screen Shot 2017-07-22 at 4.54.14 PM.png

那么她可以选取最下面一行的 1×41\times4 的子海域,也可以选择第三列的 3×13\times1 的子海域。注意她不能选取最上面一行的 1×51\times5 的子海域,因为它没有与海滩相邻。

为了让朋友们玩的开心,她想让游泳场的面积尽可能的大。因此她会选取最下面那一行的 1×41\times4 的子海域作为最终方案。

虽然她要明天才能知道每一个单位海域是否安全,但是她现在就想行动起来估计一下她的游泳场面积有多大。经过简单的估计,她假设每一个单位海域都有独立的 qq 的概率是安全的,1q1 − q 的概率是不安全的。她想要知道她能选择的最大的游泳场的面积恰好KK 的概率是多少。

然而久莲对数学并不感兴趣,因此她想让你来帮她计算一下这个数值。

输入格式

输入一行四个正整数 N,K,x,yN,K,x,y,其中 1x<y<9982443531 \leq x < y < 998244353qq 的取值为 xy\frac{x}{y}

输出格式

输出一行一个整数表示答案在模 998244353998244353 意义下的取值。

即设答案化为最简分式后的形式为 ab\frac{a}{b} ,其中 aabb 的互质。输出整数 xx 使得 bxamod998244353bx \equiv a \mod 9982443530x<9982443530 \leq x < 998244353。可以证明这样的整数 xx 是唯一的。

样例

输入

10 5 1 2

输出

342025319

数据范围与提示

提示

xp11(modp)x^{p-1} \equiv 1 \pmod p,其中 pp 为质数,x[1,p)x \in [1,p)

子任务

测试点编号NNKK
1,2=1=11000\leq 1000
310\leq 108\leq 8
410\leq 109\leq 9
510\leq 1010\leq 10
61000\leq 10007\leq 7
71000\leq 10008\leq 8
81000\leq 10009\leq 9
9,10,111000\leq 1000100\leq 100
12,13,141000\leq 10001000\leq 1000
15,16109\leq 10^910\leq 10
17,18109\leq 10^9100\leq 100
19,20109\leq 10^91000\leq 1000