#383. [R61E]树

[R61E]树

时空限制

1S/512M

题目描述

你需要构造一棵包含 nn 个节点的有根树,节点编号为 1n1 \sim n

这棵树必须满足以下条件:

  • 对于树上的任意两个节点 xxyy,它们的最近公共祖先的编号等于:将 xxyy 各自的质因子按从大到小的顺序排列后,这两个质因子序列的最长公共前缀中所有质因子的乘积(如果最长公共前缀为空序列,则乘积规定为 11)。

例如,若 x=12x=12y=18y=18

  • xx 的质因子从大到小排列为 [3,2,2][3, 2, 2]
  • yy 的质因子从大到小排列为 [3,3,2][3, 3, 2] 这两个序列的最长公共前缀为 [3][3],其乘积为 33,因此在这棵树上 12121818 的最近公共祖先是节点 33

格式

输入格式

第一行一个正整数 nn,表示树的节点个数。

输出格式

输出 nn 个正整数,第 ii 个整数表示节点 ii 的父节点编号,如果当前节点是根节点,则输出 00

如果有多棵树满足条件,输出任意一棵即可。

样例

样例输入 #1

6

样例输出 #1

0 1 1 2 1 3

数据规模

注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。

子任务编号 分数 nn\le
11 2020 1010
22 2020 100100
33 6060 10610^6

对于 100%100\% 的数据,2n1062 \le n \le 10^6