题面翻译
题目描述
拇指姑娘出了事故。她发现自己在沼泽地中央的一个小岛上,非常想去海边。
只有沿着一条连接小岛和海岸的路线,才能到达海岸。让我们假设这些山丘从 1 到 n 编号,且它们的编号即等于它与岛屿之间的距离(以米为单位)。n 号山丘和海岸之间的距离也是 1 米。
拇指姑娘太小了,不能跳。幸运的是,一家生活在沼泽里的青蛙建议帮助她。每只青蛙都同意让拇指姑娘搭便车,但是拇指姑娘应该只选择一只青蛙。每只青蛙都有一定的跳跃长度。如果拇指姑娘同意接受一只青蛙的帮助,它的跳跃长度是 d,青蛙会从山上的岛上跳到山丘 d 上,然后在山丘 2×d,然后 3×d 等等,直到他们到达岸边(也就是发现自己的编号超过了山丘 n)。
然而,还有一个问题:蚊子也生活在沼泽里。此刻,他们正在一些山丘上小睡。如果青蛙跳到有蚊子的山上,青蛙就会把蚊子击碎。拇指姑娘遇到的青蛙都是和平主义者,所以他们会发现每一只蚊子的死亡都是非常可悲的。帮助拇指姑娘选择一只能带她上岸的青蛙,并尽可能少地击碎蚊子。
输入格式
第一行包含三个整数。n,m,k(1≤n≤109,1≤m,k≤100)——山丘、青蛙和蚊子的数量。第二行包含 m 个整数 di(1≤di≤109)——青蛙跳跃的长度。第三行包含 k 个整数——每只蚊子睡觉的山丘(位置)。每座山丘上只能有一只蚊子睡觉。行中的数字由单个空格分隔。
输出格式
在第一行输出的青蛙击碎的最少的蚊子的数量,在第二行升序输出被击碎的蚊子所在山丘的编号,用空格隔开。