3775 - 点和直线

你需要实现以下3种操作:

  1. 平面上加入一条直线;
  2. 删除一条已加入的直线;
  3. 求一个点到平面上所有直线距离平方和最小,你需要输出这个最小值。

输入

第1行包含一个整数N,表示了操作数目。接下来N行操作属于下列3种格式之一: 格式1: 0 x1 y1 x2 y2 。插入直线操作,插入一条过(x1, y1), (x2, y2)的直线,保证两点不重合,坐标为实数(最多两位小数)并且绝对值不超过100。 格式2: 1 k 。删除直线操作,删除第i次插入操作所插入的直线,保证已经被删除的直线不会再被删除(即任意2次操作k值均不同),并且k不大于之前插入操作的次数。 格式3: 2 。查询操作,查询所要求的最小值。

输出

输出行数等于查询操作的次数,每行输出每次查询操作所要求的最小值,保留两位小数

样例

输入

10
0 0.0 0.0 1.0 0.0
2
0 0 1 1 1
2
0 0 2 1 2
2
1 2
2
1 3
2

输出

0.00
0.50
2.00
2.00
0.00

提示

对于100%的数据,N ≤ 120000。

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题