Description
你需要实现以下3种操作:
1. 平面上加入一条直线;
2. 删除一条已加入的直线;
3. 求一个点到平面上所有直线距离平方和最小,你需要输出这个最小值。
Input
第1行包含一个整数N,表示了操作数目。接下来N行操作属于下列3种格式之一:
格式1: 0 x1 y1 x2 y2 。插入直线操作,插入一条过(x1, y1), (x2, y2)的直线,保证两点不重合,坐标为实数(最多两位小数)并且绝对值不超过100。
格式2: 1 k 。删除直线操作,删除第i次插入操作所插入的直线,保证已经被删除的直线不会再被删除(即任意2次操作k值均不同),并且k不大于之前插入操作的次数。
格式3: 2 。查询操作,查询所要求的最小值。
Output
输出行数等于查询操作的次数,每行输出每次查询操作所要求的最小值,保留两位小数
Sample Input
100 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
Sample Output
0.000.50
2.00
2.00
0.00
Hint
对于100%的数据,N ≤ 120000。