200259 - 抓住卡特
一位喵星人在墙角处睡着了,现在有一些安装柱,两根安装位之间可以安装卡特网(每个安装柱最多允许与其他4个安装位连接),现在需要把喵星人围起来。为了便于计算,我们把问题抽象为数学模型:建立一个直角坐标系,x轴的正方向和y轴的正方向代表墙,卡特在坐标原点,在n个已知点中选择一些,和坐标轴形成一个封闭的多边形即可围住卡特。
请你求出能构成的所有封闭的多边形中,除了墙面部分的最短长度,即所需要的卡特网的最短长度。
输入
第一行,一个正整数n,表示安装位的个数。
接下来n行,每行两个浮点数x,y分别表示安装柱的横纵坐标。
对于100%的数据:
1\le n \le 10^6 。
0 \le x,y \le 10^9。
x+y>0 。
输出
一行一个保留小数点后10位有效数字的实数,表示所需卡特网的最小长度。
但若无法与墙面形成闭合图形则输出"Cat scratches!"。
样例
输入
3 0.0 1.0 1.0 0.0 1.0 1.0
输出
1.4142135624
输入
2 1.0 0.0 0.1 1.0
输出
Cat scratches!