#369. 亚运来了

亚运来了

Background

Special for beginners, ^_^

Description

杭州亚运会将于今(2022)年教师节开幕,各项建设工作正在加班加点进行中,连春节都不给休息。现在,施划跑道线的重任就落到了你朋友的肩上,你朋友听说你熟练掌握C++,期末考试高达满分,就把这项艰巨的任务给了你,让你帮他写个程序计算如何划线,好让他过年可以多休息(打游戏)几天(这么多条跑道笔算实在是太麻疯了,为了保证正确,你朋友向领导拍胸脯保证拍脑袋计算的结果不会出错,但是计算加复核要好几天,如果划错了无法通过验收就拍屁股走人)。每名运动员都希望比赛时他所在的道次的距离是正确的,短了成绩作废,长了会加大打铁概率。 为了推广和普及田径运动,加大全民健身力度,你的目标是写出来的程序不仅可以用于标准的400米跑道,也可以用于其他距离的非标准场地。 如图1所示,椭圆形运动场由2段由2个半圆相连的平行直线组成。在北半球,跑步沿着逆时针方向进行,终点线在下半部的平行跑道。如果直线长度不够,就顺时针往后退,如果起点在半圆上,起点线必须是沿着半径方向。跑道可以用一个平面直角坐标系表示,其中心坐标是(0, 0)。 如图2所示,运动员的跑步总距离是按照跑步(虚)线计算的。虚线到实线的距离就是跑道线的宽度,1道一般会更大,

Format

Input

第一行包含7个数,描述跑道的几何参数,分别是N、R、S、W、F、L1、L2,含义如下: N是表示跑道的条数(1≤N≤9),R是1道的内半径(1.0≤R≤100.0),S表示直道的长度(1.0≤S≤200.0),W是每条道的宽度(0.5≤W≤3.0),F是终点线的横坐标(∣F∣≤S/2),L1是1道内半径到跑步线的宽度,L2是其它道内半径到跑步线的宽度(0≤L1,L2≤1)。剩下的直到文件结束,每行一个比赛距离D(1.0≤D<410.0)。

Output

对每一个比赛距离,首先输出比赛距离,然后输出1道到最大道的起始点坐标(x, y)。注意,坐标不是每一道跑步线的位置,而是最内侧的位置。保留7位小数输出。

Samples

4 36.5 84.39 1.22 40.0 0.30 0.20
200.0
400
200.0000000 -40.0006097 36.5000000 -43.5119416 37.6970034 -47.3107539 38.6024955 -51.0663511 39.1679043
400.0000000 40.0012193 -36.5000000 46.9997525 -37.4127352 54.4291796 -36.9682086 61.4438035 -35.2464064

Limitation

1s, 1024KiB for each test case.