分数统计

题目背景

大宁考完联赛回来,成功的躲过了期中考试,但是他的班主任Yellow\_sword不会放过他。

题目描述

Yellow\_sword要大宁给他弄一个数据库,维护班级的考试平均分。每个人期中考试各科的分数已经被统一的转化为评价值,为一个[1,100]之间的整数。它评价了这个人的总体水平,现在Yellow\_sword丢给了大宁n个班级的班级平均评价值和每个班的人数,由于Yellow\_sword和大宁都很懒,所以都假装每个班每个人的评价值就是班级的平均评价值。他想知道: 1. 连续的若干个班所有人评价值的平均数。 2. 连续的若干个班所有人评价值的众数。 3. 连续的若干个班所有人评价值的极差(即评价值最高和最低的差)。 既然大家都很懒,那事情就给你来做了。

输入输出格式

输入格式


第一行为两个整数n和q,表示有n个班级和q个询问。 第二行为n个整数ai 表示第i个班的平均评价值。 第三行为n个整数bi 表示第i个班的人数。 接下来q行,每行一个查询,格式为 Opt u v 表示在第u到v个班级里查询Opt对应的项,Opt∈[1,3],意义为前文所述。

输出格式


对于每一个询问,在q行中输出对应的结果,平均数保留两位小数。

输入输出样例

输入样例 #1

5 3
90 100 90 90 80
2 1 2 1 8
1 1 3
2 3 5
3 1 2

输出样例 #1

92.00
80
10

说明

测试点 数据规模 ```cpp 1~3 n=q=1000 4~5 n=q=50000 6~7 n=q=100000 8~10 n=q=200000 ``` 建议使用较快的读入方式。 时限:1~5 0.5s 6~10 1s