CSES - Aalto Competitive Programming 2024 - wk11 - Mon - Fibonacci towers
  • Time limit: 1.00 s
  • Memory limit: 512 MB

You have two block types: type one has height 1 and type two has height a. How many different towers of height b can you construct? Two towers are considered different if at any height level the block types do not match.

Input

A single line contains two integers a and b.

Output

Print the number of towers modulo 998244353.

Constraints

  • 2 \leq a \leq 100
  • 1 \leq b \leq 10^{18}

Example 1

Input:

2 11

Output:

144

Example 2

Input:

3 8

Output:

13

Example 3

Input:

77 985532091144101696

Output:

533259046