#G1030. [GESP202406七级] 区间乘积-T2

[GESP202406七级] 区间乘积-T2

题目描述

小杨有一个包含 nn 个正整数的序列 A=[a1,a2,...,an]A=[a_1,a_2,...,a_n] 。

小杨想知道有多少对 <l,r>(1≤l≤r≤n)<l,r>(1 \leq l \leq r \leq n) 满足 al×al+1×...×ara_l \times a_{l+1} \times ... \times a_r 为完全平方数。

一个正整数 xx 为完全平方数当且仅当存在一个正整数 yy 使得 x=y×yx=y \times y 。

输入格式

第一行包含一个正整数 nn ,代表树的节点数。

第二行包含 nn 个非负整数 a1,a2,...,ana_1,a_2,...,a_n ,其中如果 ai=0a_i=0 ,则节点 ii 的颜色为白色,否则为黑色。

之后 n−1n-1 行,每行包含两个正整数 xi,yix_i,y_i ,代表存在一条连接节点 xix_i 和 yiy_i 的边。

输出格式

输出一个整数,代表满足要求的 <l,r><l,r> 数量。

样例输入 #1

5
3 2 4 3 2

样例输出 #1

2

样例解释

满足条件的 <l,r><l,r> 有 <3,3><3,3> 和 <1,5><1,5> 。

数据范围

子任务编号 数据点占比 nn aia_i
1 20%20\% ≤105\leq 10^5 1≤ai≤21\leq a_i \leq 2
2 40% 40\% ≤100\leq 100 1≤ai≤301\leq a_i \leq 30
3 40%40\% ≤105\leq 10^5

对于全部数据,保证有 1≤n≤105,1≤ai≤301 \leq n \leq 10^5 , 1 \leq a_i \leq 30 。