【题目描述】
给定长为 n 的序列 a1, a2, ... , an 与序列 b1, b2, ... , bn。
你需要支持以下操作共 m 次:
1 l r v:将 al, al+1, ... , ar 改为 v。
2 l r v :将 bl, bl+1, ... , br 改为 v。
3 l r :从 bl, bl+1, ... , br 中等概率随机选择一个数作为 x,求 a1 + a2 + ... + ax的期望 E,方便起见,你只需要输出 $E \times (r - l + 1)$ 除以 $2^{32}$ 的余数。可以证明,$E \times (r - l + 1)$ 的值是整数。
【输入格式】
第一行两个整数 n, m。
第二行 n 个整数,第 i 个整数表示 ai。
第三行 n 个整数,第 i 个整数表示 bi。
接下来 m 行,每行形如 1 l r v 或 2 l r v 或 3 l r ,表示一次操作。
【输出格式】
输出到文件 throne.out 中。
对于每个形如 3 l r 的操作,输出一行一个整数,表示 $E \times (r - l + 1)$ 除以 $2^{32}$ 的余数。
【数据范围】
保证 1 <= n, m <= 2.5 × 10^5, 1 <= ai <= 10^9, 1 <= bi <= n, 1 <= li, ri <= n。
对于形如“1 l r v”的操作,保证 1 ≤ vi ≤ 10^9。
对于形如“2 l r v”的操作,保证 1 ≤ vi ≤ n。
- 子任务 1(5 分):n <= 500。
- 子任务 2(35 分):不含有形如 2 l r v 的操作。
- 子任务 3(20 分):对于形如 2 l r v 的操作,保证 li = ri。
- 子任务 4(40 分):无特殊限制。