椰子

题目背景

众所周知,椰子是一种椰子,但这和题目好像没什么关系。

题目描述

给出一个长度为 $n$ 的序列 $a$,我们保证 $1\sim n$ 中的每一个数都恰好在 $a$ 中出现了一次,对于每一个 $1\le i\le n$,求出在序列中将值为 $i$ 的数的值修改成 $1$ 后,序列有多少种不同的区间 $\gcd$ 的值。 严格来说,记将值为 $x$ 的数修改为 $1$ 后的序列为 $A^x$。集合 $S_x=\{\gcd\limits_{i=l}^r(A^x_i)|1\le l\le r\le n\}$,求出所有 $|S_i|$ 的值。

输入输出格式

输入格式


第一行一个正整数 $n$,表示排列的长度。 接下来一行 $n$ 个正整数,表示序列 $a$。

输出格式


一行一共 $n$ 个整数,第 $i$ 个数表示在把值为 $i$ 的数改成 $1$ 后,序列有多少种不同的区间 $\gcd$ 的值。

输入输出样例

输入样例 #1

3
3 1 2

输出样例 #1

3 2 2

输入样例 #2

6
3 6 4 1 5 2

输出样例 #2

6 6 5 5 5 5

说明

### 样例解释 1 对于将 $1$ 变成 $1$,有 $\{1,2,3\}$ 共 $3$ 种不同的区间 $\gcd$ 值,分别可以对应区间 $[1,3],[3,3],[1,1]$。 对于将 $2$ 变成 $1$,有 $\{1,3\}$ 共 $2$ 种不同的区间 $\gcd$ 值,分别可以对应区间 $[2,3],[1,1]$。 对于将 $3$ 变成 $1$,有 $\{1,2\}$ 共 $2$ 种不同的区间 $\gcd$ 值,分别可以对应区间 $[1,2],[3,3]$。 ### 数据规模与约定 **本题采用捆绑测试**。 | $\text{Subtask}$ | 分数 | 数据范围 | 特殊性质 | | :-----------: | :-----------: | :-----------: | :-----------: | | $1$ | $10$ | $n\le 20$ | 无特殊限制 | | $2$ | $20$ | $n\le 200$ | 无特殊限制 | | $3$ | $30$ | $n\le 2000$ | 无特殊限制 | | $4$ | $20$ | 无特殊限制 | $A$ | | $5$ | $20$ | 无特殊限制 | 无特殊限制 | $A$:对于所有 $1\le i\le n$,有 $a_i=i$。 对于所有的数据,$2\le n\le 5\times 10^5$,我们保证 $1\sim n$ 中的每一个数都恰好在 $a$ 中出现了一次。