atcoder#ARC135A. [ARC135A] Floor, Ceil - Decomposition

[ARC135A] Floor, Ceil - Decomposition

题目描述

黒板にひとつの整数 X X が書かれています。あなたは次の操作を、何度でも行うことができます(一度も行わなくてもよいです)。

  • 黒板に書かれている整数 x x をひとつ選ぶ。
  • x x をひとつ黒板から消去し、新たに  x2 \lfloor\ \frac{x}{2}\rfloor  x2 \lceil\ \frac{x}{2}\rceil をひとつずつ黒板に書く。

操作後の黒板に書かれている整数すべての積としてありうる最大値を、998244353 998244353 で割った余りを答えてください。

 x2 \lfloor\ \frac{x}{2}\rfloor  x2 \lceil\ \frac{x}{2}\rceil とは? 実数 x x に対して,x x 以下の最大の整数を  x \lfloor\ x\rfloor x x 以上の最小の整数を  x \lceil\ x\rceil と書きます。したがって例えば以下が成り立ちます。

  • x = 2 x\ =\ 2 のとき、 x2 = 1 \lfloor\ \frac{x}{2}\rfloor\ =\ 1 ,  x2 = 1 \lceil\ \frac{x}{2}\rceil\ =\ 1
  • x = 3 x\ =\ 3 のとき、 x2 = 1 \lfloor\ \frac{x}{2}\rfloor\ =\ 1 ,  x2 = 2 \lceil\ \frac{x}{2}\rceil\ =\ 2

输入格式

入力は以下の形式で標準入力から与えられます。

X X

输出格式

操作後の黒板に書かれている整数すべての積としてありうる最大値を、998244353 998244353 で割った余りを出力してください。

15
192
3
3
100
824552442

提示

制約

  • 1 X  1018 1\leq\ X\ \leq\ 10^{18}

Sample Explanation 1

例えば次のように操作を行うことで、黒板に書かれている整数すべての積を 192 192 にすることが可能です。 - はじめ、黒板は次の状態です:(15) (15) 。 - x = 15 x\ =\ 15 として操作を行うことで、黒板は次の状態に変化します:(7, 8) (7,\ 8) 。 - x = 7 x\ =\ 7 として操作を行うことで、黒板は次の状態に変化します:(8, 3, 4) (8,\ 3,\ 4) 。 - x = 4 x\ =\ 4 として操作を行うことで、黒板は次の状態に変化します:(8, 3, 2, 2) (8,\ 3,\ 2,\ 2) 。 - x = 8 x\ =\ 8 として操作を行うことで、黒板は次の状態に変化します:(3, 2, 2, 4, 4) (3,\ 2,\ 2,\ 4,\ 4) 。 このとき、黒板に書かれている整数すべての積は 3× 2× 2× 4× 4 = 192 3\times\ 2\times\ 2\times\ 4\times\ 4\ =\ 192 です。

Sample Explanation 2

操作を一度も行わないことで、黒板に書かれている整数すべての積を 3 3 にすることが可能です。

Sample Explanation 3

操作後の黒板に書かれている整数すべての積としてありうる最大値は、5856458868470016 5856458868470016 です。これを 998244353 998244353 で割った余りを出力します。