火龙果树
题号:NC52105
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

小巫女从小就喜欢吃火龙果,她有一个梦想,就是用魔法变出许许多多美味可口的火龙果,这样她就可以天天享受火龙果的美味啦!
聪明、善良又可爱的小巫女从 9012 年带回来一棵火龙果树树苗,在自家的院子里种下了一棵独一无二的火龙果树。
火龙果树自下到上一共有若干层,每一层都是由上一层对应的枝叶生长而来。
我们将火龙果树的树枝分为两类,未孕育枝只能生长出一枝已孕育枝,已孕育枝可以生长出一枝未孕育枝和一枝已孕育枝。
最初,小巫女种下了仅包含一个未孕育枝的火龙果树树苗开始生长。
在每一个生长周期中,处于最上层的所有树枝均会按照自己的生长方式生长出新的一层。
随着火龙果树的茁壮成长,小巫女想知道她的火龙果树在第 t 个生命周期后,一共含有多少条树枝。
小巫女相信你一定可以顺利的解决这个问题!

输入描述:

对于每个测试点包含多组数据。
第一行:一个整数 T,表示该测试点包含的数据组数。
接下来 T 行:每行包含一个整数t,其含义如题目所述。

输出描述:

共 T 行:每行包含一个整数ans,表示树枝的条数。
注意:由于答案可能很大,你只需要输出树枝条数对 998244353 取模后的值。
示例1

输入

复制
4
1
2
3
4

输出

复制
1
2
4
7

说明

备注:

对于所有数据 1\leq t\leq 10^7,1\leq T\leq 100