#cspj03001. 香格里拉的玛尼石

香格里拉的玛尼石

香格里拉的玛尼石

题目背景

丹增是香格里拉的一位虔诚的藏族青年。一年一度的赛马节即将到来,他准备在神山脚下垒起一座巨大的“玛尼堆”(由刻着六字真言的石头堆砌而成的祭坛),祈求风调雨顺。

丹增一共收集了 NN 块精美的玛尼石。为了让玛尼堆更加美观且符合某种神秘的阵法,他决定将这 NN 块石头平均分成若干堆,每一堆的石头数量必须完全相同,且不能有任何剩余。

题目描述

给定玛尼石的总数 NN,请你帮助丹增计算出:他所有可能划分的每堆石头数量。 实际上,这就等同于求出 NN 的所有正约数(因数)。

为了方便丹增挑选,请你将所有可能的数量从小到大依次输出。 由于丹增可能需要尝试多次不同的总数,本题包含 TT 组测试数据。

输入格式

第一行包含一个正整数 TT,表示测试数据的组数。 接下来 TT 行,每行包含一个正整数 NN,表示玛尼石的总数。

输出格式

对于每组测试数据,输出一行。包含若干个空格隔开的正整数,表示 NN 的所有正约数,且必须严格按从小到大的顺序排列。

样例 #1

样例输入 #1

3
12
13
36

样例输出 #1

1 2 3 4 6 12
1 13
1 2 3 4 6 9 12 18 36

数据范围与提示

本题采用 Subtask 捆绑测试。

Subtask 分值 TT 的范围 NN 的范围 限制与特殊性质
1 3030 T10T \le 10 N106N \le 10^6
2 7070 N1013N \le 10^{13} 时间限制 1.0s。