斐波那契和
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

Fib(i)表示斐波那契函数,Fib(n)=Fib(n-1)+Fib(n-2),如Fib(1)=1Fib(2)=1Fib(3)=2Fib(4)=3Fib(5)=5Fib(6)=8

给定正整数nk,求:

由于结果太大,你需要把求和的结果对998,244,353取余。

输入描述:

输入一行,包含两个整数n和k(1≤n≤1018,1≤k≤100)

输出描述:

输出一个整数,表示求和对998,244,353取余的结果。

示例1

输入

复制
5 2

输出

复制
196

说明

样例解释:

1*1*Fib(1) + 2*2*Fib(2) + 3*3*Fib(3) + 4*4*Fib(4) + 5*5*Fib(5) = 196