C1700 [Wannafly冬令营2018Day8]吉良吉影的奇妙计划(困难版)

内存限制:512 MB 时间限制:8000 ms

题目描述

吉良吉影是一个平凡的上班族,他决定在休假的闲暇时光里制定接下来$2n$天的指甲修剪计划。

首先,吉良吉影会在纸上写下$2n$个字(各$n$个),表示他每天是修剪左手的指甲还是右手的指甲。但是吉良吉影是一个称职的上班族,不会浪费这么多时间在修剪指甲上,于是他决定将一些位置改成空(即那天不剪指甲)。吉良吉影从头扫视整个计划,如果出现连续两天,剪的是不同的手,那么他就会将这两天改成空,并从头开始重复这个过程。直到不存在连续两天剪不同手的指甲为止。比如初始的计划为左左右左左右右右,那么在第一次修改后变成左空空左左右右右,在第二次修改后变成左空空左空空右右。由于吉良吉影的指甲生长的非常快,所以他不能容忍出现连续4天或以上的,如果在最终的计划中出现了连续4个的,那么他认为这样的计划不合法并炸掉计划。

现在吉良吉影想知道,他可能造出多少种合法的计划?两个计划被认为不同,当且仅当存在任意一天的选择不同。

输入格式

第一行包含一个整数$n(1 \le n \le 10^5)$。

输出

输出仅一行,表示合法计划的数量,对$998244353$取模。

样例

样例输入 1

3

样例输出 1

6

提示

在样例中,可能的最终计划分别为:

空空左空空右

空空右空空左

左空空右空空

左左空空右右

右空空左空空

右右空空左左