最近,小葱为了忘记城市的喧嚣,来到了星露谷开始种地发家致富。但是,由于小葱把钱都拿去抽卡了,所以小葱并没有足够的钱来买种子。为了搜集足够的钱来养猪,小葱必须开始大规模的搜寻野菜工作。
星露谷是一个无限大的二维平面,你可以在这个二维平面内任意移动。小葱可能在星露谷的 $n$ 条线段上找到野菜,但是这些线段是有向的,小葱必须沿着线段的方向移动才能找到野菜。为了找到更多的野菜,小葱希望自己能把星露谷中所有可能出现野菜的地方全部走一遍。换句话说,对于每条线段,小葱都需要沿着该线段的方向将这条线段的每个点都经过一遍。当然,小葱可以选择分多次走一条线段,具体地讲,小葱可以在这条线段的任意位置离开这条线段,再从任意位置进入这条线段,只要保证路径的并集覆盖了这条有向线段即可。
小葱希望找到一条尽量短的路径,这条路径应该由 $m$ 条线段组成,并且覆盖了星露谷中的 $n$ 条有向线段。小葱可以选择星露谷的任意一个点作为路径的起点,同时它也必须是路径的终点,即小葱最终必须回到出发的位置。
现在,小葱要去写四子棋大作业了,他不知道该怎么规划自己的行走方案使得自己移动的距离尽量短,所以就把这个艰巨的任务交给聪明的你了。
注意:如果有两条线段的某部分重合且方向相同,那么你在走过这一段的时候我们认为这两条线段的这部分都被走过了。