{"raw_statement":[{"iden":"statement","content":"小 Y 非常喜欢 $42$ 这个数，于是他也喜欢以 $42$ 为初始数，然后往后面依次拼接 $4,2$ 的数，如 $42,424,4242,\\cdots$。小 Y 给了你一个大小为 $n$ 的整数序列 $a$，小 Y 有 $m$ 次操作，操作有四种：\n\n- `1 l r x` 将 $l\\sim r$ 中的数加上 $x$。\n\n- `2 l r x` 将 $l\\sim r$ 中的数乘上 $x$。\n\n- `3 l r x` 将 $l\\sim r$ 中的数修改为 $x$。\n\n- `4 l r` 询问 $l\\sim r$ 中有多少个小 Y 喜欢的数。"},{"iden":"input","content":"第一行两个整数 $n,m$。\n\n第二行 $n$ 个整数 $a_1,a_2,a_3\\cdots a_n$。\n\n接下来 $m$ 行，每行 $3$ 或 $4$ 个整数描述一次操作。"},{"iden":"output","content":"每行一个操作 $4$ 的答案。"},{"iden":"note","content":"### 样例解释\n\n第 $1$ 次操作为询问区间 $1\\sim8$ 中有多少个小 Y 喜欢的数，共 $1$ 个，为 $a_2$。\n\n第 $2$ 次操作为将区间 $1\\sim8$ 中的数加上 $377$，数列 $a$ 变为 $418,419,420,421,422,423,424,424$。\n\n第 $3$ 次操作为询问区间 $1\\sim8$ 中有多少个小 Y 喜欢的数，共 $2$ 个，为 $a_7,a_8$。\n\n第 $4$ 次操作为将区间 $1\\sim1$ 中的数乘上 $100$，数列 $a$ 变为 $41800,419,420,421,422,423,424,424$。\n\n第 $5$ 次操作为将区间 $1\\sim8$ 中的数加上 $624$，数列 $a$ 变为 $42424,1043,1044,1045,1046,1047,1048,1048$。\n\n第 $6$ 次操作为询问区间 $1\\sim7$ 中有多少个小 Y 喜欢的数，共 $1$ 个，为 $a_1$。\n\n第 $7$ 次操作为将区间 $1\\sim8$ 中的数修改为 $424242$，数列 $a$ 变为 $424242,424242,424242,424242,424242,424242,424242,424242$。\n\n第 $8$ 次操作为询问区间 $1\\sim5$ 中有多少个小 Y 喜欢的数，共 $5$ 个，为 $a_1,a_2,a_3,a_4,a_5$。\n\n### 数据范围\n\n| 子任务 | 分值 | 限制 |\n| :----------: | :----------: | :----------: |\n| $0$ | $20$ | $n,m\\le10^4$ |\n| $1$ | $80$ | - |\n\n对于 $100\\%$ 的数据，$1\\le n,m,a_i,x\\le5\\times10^5$，$1\\le l,r\\le n$。\n\n保证每次操作后 $1\\le a_i\\le5\\times10^5$。"}],"translated_statement":null,"sample_group":[["8 8\n41 42 43 44 45 46 47 47\n4 1 8\n1 1 8 377\n4 1 8\n2 1 1 100\n1 1 8 624\n4 1 7\n3 1 8 424242\n4 1 5","1\n2\n1\n5"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}