小 A 想将正整数 n 拆分成若干个正整数之和,并最大化拆分后的正整数之积。小 A 希望你帮他计算出拆分后正整数之积的最大值。由于答案可能很大,你只需要求出答案对 109 取模的结果。
形式化地,n 的拆分是满足 a1+⋯+ak=n 的若干个正整数 a1,…,ak,其中 1≤k≤n。你需要求出 n 的所有拆分中 a1×⋯×ak 的最大值对 109 取模的结果。
第一行,一个正整数 t,表示数据组数。
对于每组数据:一行,一个整数 n,表示给定的正整数。
对于每组数据:输出一行,一个整数,表示 n 拆分后正整数之积的最大值对 109 取模的结果。
3 5 8 100
6 18 755407364
对于 40% 的测试点,保证 n≤50。
对于所有测试点,保证 1≤t≤104,1≤n≤106。