410662: GYM104071 D 比赛
Description
小 N 和小 O 会在 2022 年 11 月参加一场盛大的程序设计大赛 NOIP!小 P 会作为裁判主持竞赛。小 N 和小 O 各自率领了一支 n 个人的队伍,选手在每支队伍内都是从 1 到 n 编号。每一个选手都有相应的程序设计水平。具体的,小 N 率领的队伍中,编号为 i(1 ≤ i ≤ n)的选手的程序设计水平为 ai;小 O 率领的队伍中,编号为 i(1 ≤ i ≤ n)的选手的程序设计水平为 bi。特别地,ai 和 bi 还分别构成了从 1 到 n 的排列。
每场比赛前,考虑到路途距离,选手连续参加比赛等因素,小 P 会选择两个参数 l, r(1 ≤ l ≤ r ≤ n),表示这一场比赛会邀请两队中编号属于 [l, r] 的所有选手来到现场准备比赛。在比赛现场,小 N 和小 O 会以掷骰子的方式挑选出参数 p, q(l ≤ p ≤ q ≤ r),只有编号属于 [p, q] 的选手才能参赛。为了给观众以最精彩的比赛,两队都会派出编号在 [p, q] 内的、程序设计水平值最大的选手参加比赛。假定小 N 派出的选手水平为 ma,小 O 派出的选手水平为 mb,则比赛的精彩程度为 ma × mb。
NOIP 总共有 Q 场比赛,每场比赛的参数 l, r 都已经确定,但是 p, q 还没有抽取。小 P 想知道,对于每一场比赛,在其所有可能的 p, q(l ≤ p ≤ q ≤ r)参数下的比赛的精彩程度之和。由于答案可能非常之大,你只需要对每一场答案输出结果对 264 取模的结果即可。
Input从文件 'match.in' 读入。
第一行包含两个正整数 T, n,分别表示测试点编号和参赛人数。如果数据为样例则保证 T = 0。
第二行包含 n 个正整数,第 i 个正整数为 ai,表示小 N 队伍中编号为 i 的选手的程序设计水平。
第三行包含 n 个正整数,第 i 个正整数为 bi,表示小 O 队伍中编号为 i 的选手的程序设计水平。
第四行包含一个正整数 Q,表示比赛场数。
接下来的 Q 行,第 i 行包含两个正整数 li, ri,表示第 i 长比赛的参数 l, r。
Output输出至文件 'match.out'。
输出 Q 行,第 i 行包含一个非负整数,表示第 i 场比赛中所有可能的比赛的精彩程度之和对 264 取模的结果。
ExampleInput0 2 2 1 1 2 1 1 2Output
8Note
ai 和 bi 分别构成了从 1 到 n 的排列。