CF39F Pacifist frogs

题目描述

拇指姑娘出了事故。她发现自己在沼泽地中央的一个小岛上,非常想去海边。 只有沿着一条连接小岛和海岸的路线,才能到达海岸。让我们假设这些山丘是从 $1$ 到 $n$,$n$ 等于它与岛屿之间的距离(以米为单位)。这座山和海岸也是 $1$ 米。 拇指姑娘太小了,不能跳。幸运的是,一家生活在沼泽里的青蛙建议帮助她。每只青蛙都同意让拇指姑娘搭便车,但是拇指姑娘应该只选择一只青蛙。每只青蛙都有一定的跳跃长度。如果拇指姑娘同意接受一只青蛙的帮助,它的跳跃长度是 $d$,青蛙会从山上的岛上跳到山丘 $d$ 上,然后在山丘 $2\times d$,然后 $3\times d$ 等等,直到他们到达岸边(也就是在山那边发现自己)。 然而,还有一个问题:蚊子也生活在沼泽里。此刻,他们正在一些山丘上小睡。如果青蛙跳到有蚊子的山上,青蛙就会把蚊子击碎。拇指姑娘遇到的青蛙都是和平主义者,所以他们会发现每一只蚊子的死亡都是非常可悲的。帮助拇指姑娘选择一只能带她上岸的青蛙,并尽可能少地击碎蚊子。

输入格式

第一行包含三个整数。$n,m,k$($1\le n\le10^9, 1\le m,k\le100$)——山丘、青蛙和蚊子的数量。第二行包含 $m$ 个整数 $d_i$($1\le d_i\le10^9$)——青蛙跳跃的长度。第三行包含 $k$ 个整数——每只蚊子睡觉的山丘(位置)。每座山丘上只能有一只蚊子睡觉。行中的数字由单个空格分隔。

输出格式

在第一行输出的青蛙击碎了最少的蚊子的数量,在第二行输出击碎的数量(不包括第一行),以增加的次序,有隔开的空格。