对于仅由 0 和 1 两种字符组成的字符串 s ,定义一次操作为:
选择两个相邻字符,将它们同时取反(即如果字符原本为 0 ,将其变成 1 ;如果字符原本为 1 ,将其变成 0 )。
记 f(s) 为将 s 变为全 0 所需的最少操作次数。若无法变为全 0 ,则该字符串的 f(s) 不计。
现在,给定整数 n ,求所有长度为 n 的合法字符串的 f(s) 之和。由于答案可能很大,请将答案对 998 244 533 取模后输出。
输入一个整数 n(1≦n≦109) 代表字符串长度。
输出一个整数,代表所有长度为 n 的字符串的 f(s) 之和。由于答案可能很大,请将答案对 998 244 533 取模后输出。
输入
2
输出
1
说明
在这个样例中,当 n=2 时,全部的合法字符串有:
“00”,由于不需要任何操作,f=0;
”01“,无法变为全 0 ,不计;
“10”,无法变为全 0 ,不计;
“11”,操作一次即可,所以 f=1 。
输入
4
输出
12
输入
10000
输出
528897405