{"trustable":true,"sections":[{"title":"","value":{"format":"HTML","content":"ACM已经购买了一台新的起重机(起重机 -- jeřáb)。这台起重机由n个不同长度的段组成,这些段通过柔性接头连接在一起。第i段的末端连接到第i + 1段的开端,其中1 ≤ i \u003c n。第一段的开端固定在坐标点(0, 0),末端在坐标点(0, w),其中w是第一段的长度。所有段始终位于同一平面上,并且接头允许在该平面内任意旋转。经过一系列不愉快的事故后,决定控制起重机的软件必须包含一段代码,不断检查起重机末端的位置,并在发生碰撞时停止起重机。\r\u003cbr\u003e\r\u003cbr\u003e您的任务是编写软件的一部分,以确定每个命令后第n段末端的位置。起重机的状态由相邻段之间的角度确定。最初,所有角度都是直的,即180\u003csup\u003eo\u003c/sup\u003e。操作员发出改变一个接头处角度的命令。\r\u003cbr\u003e"}},{"title":"输入","value":{"format":"HTML","content":"输入包含多个实例,由单个空行分隔。\r\u003cbr\u003e\r\u003cbr\u003e每个实例的第一行由两个整数n和c组成,用单个空格分隔 -- 起重机段数和命令数,其中1 ≤ n ≤10 000且c ≥ 0。第二行由n个整数l1,..., ln (1 ≤ li ≤ 100)组成,用单个空格分隔。起重机的第i段长度为li。接下来的c行指定操作员的命令。描述命令的每行由两个整数s和a组成,用单个空格分隔 -- 将第s段和第s + 1段之间的角度改变为a度(角度是从第s段逆时针到第s + 1段测量的)。"}},{"title":"输出","value":{"format":"HTML","content":"每个实例的输出包含c行。第i行由两个有理数x和y组成,用单个空格分隔 -- 第i个命令后第n段末端的坐标,四舍五入到小数点后两位。\r\u003cbr\u003e\r\u003cbr\u003e每两个连续实例的输出必须由单个空行分隔。"}},{"title":"示例","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e2 1\r\n10 5\r\n1 90\r\n\r\n3 2\r\n5 5 5\r\n1 270\r\n2 90\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e5.00 10.00\r\n\r\n-10.00 5.00\r\n-5.00 10.00\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}