绝望
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

破碎的哭喊和梦想 眼前的理想已只剩下门扉

即便城市被杂音所吞没 变得越来越嘈杂

我也会放歌 不再去掌控方向

所以不如就让静谧 在此回响

——《ninelie》

他抵制不了电脑的诱惑,开始颓废……很快,他就为他的行为付出了代价……
对于一个序列,每个元素有一个初值,有两种操作
1. 输入4个整数 1 l r x


表示将 修改为 ,并输出l~r中a[i]为质数的个数   
2. 输入3个整数 2 l r

输出   ,意义同上

输入描述:

第一行输入两个整数
第二行输入个整数,第个整数表示
接下来行,每行一个操作,输入方式如上所述
,
不保证在操作过程中

输出描述:

对于每一个操作,输出对应的答案
示例1

输入

复制
3 3
4 3 4
2 1 3
1 1 3 2
2 1 3

输出

复制
1
0
0