给定一个长度为 n 的数组 a,支持以下两种操作共 q 次: 1.单点修改:1 pos x,将第 pos 个位置的数改为 x; 2.频次倍数判定:2 l r k,询问区间 [l, r] 中每个不同数值的出现次数是否都是 k 的倍数。 如果是,输出 Yes;否则输出 No。
第一行两个正整数 n, q(1 ≤ n, q ≤ 100000),分别表示数组长度和操作次数。 第二行 n 个正整数 a1, a2, ..., an(1 ≤ ai ≤ 100000),表示初始数组。 接下来 q 行,每行描述一条操作: 若为 1 pos x,表示将第 pos 个位置修改为 x(1 ≤ pos ≤ n,1 ≤ x ≤ 100000); 若为 2 l r k,表示查询区间 [l, r] 中每个数的出现次数是否都是 k 的倍数(1 ≤ l ≤ r ≤ n,2 ≤ k ≤ 5)。
对于每条查询操作,输出 Yes 或 No。
6 4 1 2 1 2 3 1 2 1 6 3 2 1 4 2 1 5 2 2 1 6 3
No Yes Yes