#P1837. Balance

Balance

描述

Gigel 有一个奇特的“天平”,他想要把它调平。事实上,这个装置不同于任何普通的天平。

它有两个几乎没有重量的天平臂,每个臂长为 15。每个臂上都安装了挂钩,Gigel 想要用从他收藏的 GG 个称重物体(1G201 \leq G \leq 20)中挑选的物品来平衡天平,这些称重物体的值在 1..251..25 范围内且各自不同。Gigel 可以将任意称重物体挂在任意一个挂钩上,但他必须使用所有的称重物体。

最后,Gigel 通过他在国家信息学奥林匹克中获得的经验成功地将天平调平。现在,他想知道有多少种方式可以将装置调平。

已知挂钩的分布和称重物体的集合,请编写一个程序,计算平衡装置的可能性数量。

保证每个测试用例都有至少一个解。

输入

输入的结构如下:

  • 第一行包含两个整数 CC2C202 \leq C \leq 20)和 GG2G202 \leq G \leq 20);
  • 第二行包含 CC 个整数,这些整数也是不同的,并且按升序排列,表示挂钩的分布,范围为 15..15-15..15,每个数表示相对于天平中心在 X 轴上的位置(当没有称重物体挂载时,天平处于平衡状态并且与 X 轴对齐;绝对值表示挂钩距离天平中心的距离,符号决定挂钩所在的天平臂:'-' 表示左臂,'+' 表示右臂);
  • 第三行包含 GG 个自然数,这些数字是不同的,并且按升序排列,表示称重物体的值,范围为 1..251..25

输出

输出一个整数 MM,表示调平天平的可能性数量。

输入数据 1

2 4
-2 3
3 4 5 8

输出数据 1

2

来源
Romania OI 2002