拆分

3.1.1 题目描述

小 A 想将正整数 nn 拆分成若干个正整数之和,并最大化拆分后的正整数之积。小 A 希望你帮他计算出拆分后正整数之积的最大值。由于答案可能很大,你只需要求出答案对 10910^9 取模的结果。

形式化地,nn 的拆分是满足 a1++ak=na_1 + \dots + a_k = n 的若干个正整数 a1,,aka_1, \dots, a_k,其中 1kn1 \le k \le n。你需要求出 nn 的所有拆分中 a1××aka_1 \times \dots \times a_k 的最大值对 10910^9 取模的结果。

3.1.2 输入格式

第一行,一个正整数 tt,表示数据组数。

对于每组数据:一行,一个整数 nn,表示给定的正整数。

3.1.3 输出格式

对于每组数据:输出一行,一个整数,表示 nn 拆分后正整数之积的最大值对 10910^9 取模的结果。

3.1.4 样例

3.1.4.1 输入样例

3
5
8
100

3.1.4.2 输出样例

6
18
755407364
3.1.5 数据范围

对于 40%40\% 的测试点,保证 n50n \le 50

对于所有测试点,保证 1t1041 \le t \le 10^41n1061 \le n \le 10^6