华华和奕奕学物理
题号:NC25557
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

众所周知,9406计算机大佬众多,他们不仅代码能力强,而且都精通物理。物理无处不在,甚至坐电梯的时候,zck和xxr都在讨论若电梯突然失重会怎样。身为文科生的华华和奕奕非常难过,他们决定学习物理,不能让小伙伴们看不起。奕奕现在正在研究一道物理题。
有Q次操作:
若op==1,输入v,t,m,表示在t时刻从无穷高处以初速度v垂直向下抛出一个质量为m的小球。
若op==2,输入v,t。表示询问t时刻所有速度小于等于v的小球的动能之和是多少。
一个速度为v,质量为m的物体的动能等于0.5*m*v*v,为了防止精度误差,设原来的答案是ans,则你只需输出2*ans%(1e9+7)即可。

输入描述:

输入Q。 接下来Q行。
先输入op,若op==1,输入v,t,m。
若op==2,输入v,t表示一次询问。
1<=Q,t,m<=3e5。
若op==1,1<=v<=3e5。
若op==2,1<=v<=4e6。
t是不严格递增的,即t[1]<=t[2]<=t[3]<=...<=t[Q]
重力加速度取g=10m/s^2

输出描述:

对于每次询问输出2*ans%(1e9+7)
示例1

输入

复制
7
1 1 1 2
2 1 2
2 11 2
1 3 2 5
1 1 4 3
2 20 4
2 30 4

输出

复制
0
242
3
2648