import math as mt
n,m = map(int,input().split())
op = list()
la_shen = [1.0](n+1)
xuan_zhuan = [0.0](n+1)
创建操作序列索引表
for i in range(1,n+1):
j = input().split()
j[1] = float(j[1])
if(j[0] == ‘1’):
la_shen[i] = la_shen[i-1] * j[1]
xuan_zhuan[i] = xuan_zhuan[i-1]
else:
xuan_zhuan[i] = xuan_zhuan[i-1] + j[1]
la_shen[i] = la_shen[i-1]
确定输入数据的操作序列,并计算
for a in range(m):
b = input().split()
star = int(b[0])
end = int(b[1])
x = float(b[2])
y = float(b[3])
la_sheni = la_shen[end] / la_shen[star-1]
xuan_zhuani = xuan_zhuan[end] - xuan_zhuan[star-1]
x1 = (xmt.cos(xuan_zhuani) - ymt.sin(xuan_zhuani)) * la_sheni
y1 = (xmt.sin(xuan_zhuani) + ymt.cos(xuan_zhuani)) * la_sheni
# x2 = x1la_shen
# y2 = y1la_shen
print(“%.3f %.3f”%(x1,y1))