#P7461. 数论

    ID: 6317 远端评测题 3000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>2024“钉耙编程”中国大学生算法设计超级联赛(3)

数论

Problem Description

给定长度为 $n$ 的正整数数列 $a_1,a_2,\dots,a_n$ 。

定义不交区间集为若干**不交**的区间$[l_1,r_1],[l_2,r_2],\cdots,[l_k,r_k]$的集合,其中任意集合 $[l_i,r_i]$ 满足 $1\le l_i\le r_i\le n$。

我们称两个不交区间集不同,当且仅当这两个区间的集合不同。

我们称一个不交区间集是**好的**,当且仅当

$\mathop{\text{gcd}}\limits_{i\in [l_1,r_1]}\{a_i\} = \mathop{\text{gcd}}\limits_{i\in [l_2,r_2]}\{ a_i\} = \cdots = \mathop{\text{gcd}}\limits_{i\in [l_k,r_k]}\{a_i\}$

请你对每个 $a_i$ 求出,有多少个**好的不交区间集**,会将其选入在某一个区间中。

Input

第一行一个整数 $n\ (1 \leq n\leq 10^5)$,代表数列的长度。

第二行 $n$ 个整数,$a_1,a_2,\dots,a_n\ (1 \leq a_i \leq 10^9)$。

Output

输出一行 $n$ 个整数,第 $i$ 个数表示有几个**好的不交区间集**,会将 $a_i$ 选入在某一个区间中。

由于答案很大,输出的数字对 $998244353$ 取模。

6 3 6 12 2 4 1
9 13 15 15 12 9