E. hiyot的神题 2014新生暑假个人排位赛07
时间限制 2000 ms
内存限制 65536 KB
题目描述
小弱最近在研究质数,他认为两个数互质是一个好性质。现在hiyot大神为了考考他学习的成果,给了他长度为n的整数序列a1、a2 .. an。同时给了他下面了两种操作:
操作一:"1 l r", 先求出区间[l, r]的所有数的gcd, 再计算[2,m]中有多少个数与gcd互质。
操作二: "2 p x", 把a[p]数值替换为x( 1 <= x <= 1000)
小弱是弱渣,但是如果你做出来了,他会认可你为大神,请你帮他算算。
输入格式
有多组数据。
每组数据以n( 1<=n<=10000), m(2<=m<=1000000), q(1<=q<=10000)开头。接下来一行有n(1 <= ai <= 1000)个数。最后q行每行有三个数,对应于一个操作。
输出格式
对每一个查询输出对应个数(如果区间gcd为1,则输出-1)。
输入样例
5 10 10
2 2 3 3 5
1 1 4
1 3 3
1 5 5
1 1 2
2 3 2
2 4 2
1 1 4
2 3 10
2 4 10
1 3 4
输出样例
-1
6
7
4
4
3