#P9939. 数论

数论

数论

Problem Description

给定长度为 nn 的正整数数列 a1,a2,,ana_1,a_2,\dots,a_n 。 定义不交区间集为若干不交的区间[l1,r1],[l2,r2],,[lk,rk][l_1,r_1],[l_2,r_2],\cdots,[l_k,r_k]的集合,其中任意集合 [li,ri][l_i,r_i] 满足 1lirin1\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\}$ 请你对每个 aia_i 求出,有多少个好的不交区间集,会将其选入在某一个区间中。

Input

第一行一个整数 n (1n105)n\ (1 \leq n\leq 10^5),代表数列的长度。 第二行 nn 个整数,a1,a2,,an (1ai109)a_1,a_2,\dots,a_n\ (1 \leq a_i \leq 10^9)

Output

输出一行 nn 个整数,第 ii 个数表示有几个好的不交区间集,会将 aia_i 选入在某一个区间中。 由于答案很大,输出的数字对 998244353998244353 取模。

Sample Input

6
3 6 12 2 4 1

Sample Output

9 13 15 15 12 9

Source

2024“钉耙编程”中国大学生算法设计超级联赛(3)