P1002

战火星空

战火星空

从 APIO 归来后,XX 迷上了“战火星空”这款游戏。

在原版游戏中,玩家控制一架小飞机向一个 Boss 射击。由于这种“一对一”的玩法逐渐变得乏味,XX 在原版游戏的基础上设计了新版“战火星空”。

新版游戏中共有 NN 个 Boss 和 MM 架小飞机。游戏过程中,Boss 的位置保持不变。每架小飞机以速度 VV 沿从 (Sx,Sy)(S_x,S_y) 到 (Ex,Ey)(E_x,E_y) 的线段匀速飞行,到达终点后便从地图上消失。

小飞机的子弹射程为 RR。在任意时刻,小飞机可以向其射程内的 Boss 射击。为了平衡游戏,在任意时刻,每个 Boss 最多只能被一架小飞机作为目标射击。

每架小飞机还受到能量值 EE 的限制。若某一时刻一架小飞机同时向 KK 个 Boss 射击,则它每秒消耗 KK 个单位的能量。能量全部耗尽后,该小飞机将不能继续射击。

游戏开始前,XX 已经知道所有 Boss 的位置,以及每架小飞机的飞行路线和各项属性。请计算所有 Boss 被攻击的总时间最大可以达到多少。

输入格式

第一行包含两个整数 NN、MM,分别表示 Boss 和小飞机的数量。

接下来 NN 行,每行包含两个正整数 xx、yy,表示一个 Boss 的位置 (x,y)(x,y)。

接下来 MM 行,每行包含七个正整数 SxS_x、SyS_y、ExE_x、EyE_y、VV、RR、EE,分别表示一架小飞机的起点、终点、飞行速度、射程和能量值。

输出格式

输出一个实数,表示所有 Boss 被攻击的最大总时间,保留 66 位小数。

样例输入

样例 11

1 1

2 2

1 1 5 3 2 1 2

样例 22

2 4

12 10

7 5

10 10 12 10 1 1 3

6 1 8 10 1 2 3

3 6 8 2 5 3 1

42 42 42 42 6 6 6

样例输出

样例 11

0.894427

样例 22

4.983771

数据范围

  • 对于 30%30\% 的数据,每个 Boss 在任意时刻最多只位于一架小飞机的射程内;
  • 对于 100%100\% 的数据,1≤N,M≤201\le N,M\le 20;
  • 输入中的所有数均为正整数,且不超过 10001000。

来源与许可

本题题面与测试数据整理自 BZOJ。

样例 1

输入

1 1

2 2

1 1 5 3 2 1 2

输出

0.894427

样例 2

输入

2 4

12 10

7 5

10 10 12 10 1 1 3

6 1 8 10 1 2 3

3 6 8 2 5 3 1

42 42 42 42 6 6 6

输出

4.983771