快速幂

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

Background

Special for beginners, ^_^

Description

快速幂\textbf{快速幂}:快速幂就是快速算底数的 nn 次幂。其时间复杂度为 O(log2n)O(log_2n), 与朴素的 O(n)O(n) 相比效率有了极大的提高。快速幂算法的核心思想就是每一步都把指数分成两半,而相应的底数做平方运算。这样不仅能把非常大的指数给不断变小,所需要执行的循环次数也变小,而最后表示的结果却一直不会变。
例如(暗色模式看不清):
egin{align*} & 3^{5}  & =3imes3imes3imes3imes3  & = (3imes3)imes(3imes3)imes3  & = (3imes3imes3imes3)imes3  & = 3^4 imes 3^1  & = 81 imes 3  & =243 nd{align*}
相对于一般的快速幂,矩阵快速幂仅仅是把他的底数和乘数换成了矩阵形式,而相应的乘法等运算也遵循矩阵的运算法则。对于矩阵的基本运算这里不再做赘述。
取模\textbf{取模}a%pa \% p (或 a mod pa \space mod \space p),表示 aa 除以 pp 的余数。

现在给你一个递推公式:

求该数列的第 nn 项。由于答案可能过大,你只需要输出答案对 998244353998244353 取模后的值。

Format

Input

一个正整数 nn (1n9982443511 \leq n \leq 998244351) 。

Output

一个整数,对应答案。

Samples

1
2
2
3

如果没有解题思路,可以算一下前几项看看。

Limitation

1s, 1024KiB for each test case.

2025UIT国庆集训

未参加
状态
已结束
规则
XCPC
题目
20
开始于
2025-10-5 18:00
结束于
2025-10-8 18:00
持续时间
72 小时
主持人
参赛人数
14