6699: 数论

内存限制:256 MB 时间限制:2 S
题面:Markdown 评测方式:文本比较 上传者:
提交:1 通过:1

题目描述

<div class=panel_content>给定长度为 $n$ 的正整数数列 $a_1,a_2,\dots,a_n$ 。<br><br>定义不交区间集为若干**不交**的区间$[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$。<br><br>我们称两个不交区间集不同,当且仅当这两个区间的集合不同。<br><br>我们称一个不交区间集是**好的**,当且仅当<br><br>$\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\}$<br><br>请你对每个 $a_i$ 求出,有多少个**好的不交区间集**,会将其选入在某一个区间中。<br></div><div class=panel_bottom>&nbsp;</div><br>

输入格式

第一行一个整数 $n\ (1 \leq n\leq 10^5)$,代表数列的长度。<br><br>第二行 $n$ 个整数,$a_1,a_2,\dots,a_n\ (1 \leq a_i \leq 10^9)$。

输出格式

输出一行 $n$ 个整数,第 $i$ 个数表示有几个**好的不交区间集**,会将 $a_i$ 选入在某一个区间中。<br><br>由于答案很大,输出的数字对 $998244353$ 取模。

输入样例 复制

6
3 6 12 2 4 1

输出样例 复制

9 13 15 15 12 9