import scala.io.StdIn.readLine @main def yuki3108(): Unit = val n = readLine.toLong println(fib(n)) def fib(n: Long, mod: Long = 998244353L): Long = def fastFibo(i: Long): (Long, Long) = i match { case 0 => (0, 1) case 1 => (1, 1) case _ => val (a, b) = fastFibo(i / 2) if i % 2 == 0 then (a * (b * 2 + mod - a) % mod, (a * a + b * b) % mod) else ((a * a + b * b) % mod, (b * (2 * a + b)) % mod) } val (x, _) = fastFibo(n) x % mod