杰哥再找对象
时间限制:C/C++/Rust/Pascal 4秒,其他语言8秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

杰哥找到了对象后,觉得很过瘾,于是就想再找一个。这次,他看上了金轮!
杰哥和金轮在一张有 n 个点,0 条边的图中,结点编号从 1n,杰哥在 1 号结点,金轮在 n 号结点。为了找到金轮,杰哥可以建造任意多条边(也可以不建造)使得这张图变成一个无向的简单图(没有自环和重边)并且他和金轮之间存在一条路径。现在他想知道有多少种建造的方法。两种方案不同当且仅当它们的边集不同。

输入描述:

输入第一行包含一个正整数 T,表示有 T 组测试数据。
接下来 T 行,每行一个正整数 n,表示初始时结点的个数。

输出描述:

输出 n 行,每行一个整数,表示答案,由于答案可能很大,只需输出答案在模 998244353 意义下的结果。
示例1

输入

复制
3
1
2
7

输出

复制
1
1
2019680

说明

备注: