开始: 2026-06-19 17:50:00

26.6春季提高班期末测试

结束: 2026-06-19 20:20:00
当前  2026-06-21 06:07:45  类型: IOI  状态: 已经结束 

P5. 等和选集②
描述

给定两个集合A和B,请你在集合里面选择一定的数字,让选出来的子集和相等,注意是非空子集!

例如集合A=【1,3,5,7】,B=【2,4,6,8】,如果我从A里面选择【1,3】B里面选择【4】,这两个子集和相等!

值得注意的时候,子集是没有顺序的概念【1,3】和【3,1】我们认为是相同的集合!


输入

第一行两个数字n,m,表示集合A、B包含的元素数量;

第二行n个数字a_i表示A的元素;

第三行m个数字b_i表示B的元素;

数据保证A,B集合内的元素各不相同!

输出

一个数字表示选出来的子集和相等的情况,方案数可能太多,请你输出mod 10^9+7的结果

样例

输入

4 4
1 3 5 7
2 4 6 8

输出

12
提示
A:{1,3} vs B:{4}
A:{1,5} vs B:{6}
A:{1,5} vs B:{2,4}
A:{1,7} vs B:{8}
A:{1,7} vs B:{2,6}
A:{3,5} vs B:{8}
A:{3,5} vs B:{2,6}
A:{3,7} vs B:{2,8}
A:{3,7} vs B:{4,6}
A:{5,7} vs B:{4,8}
A:{5,7} vs B:{2,4,6}
A:{1,3,5,7} vs B:{2,6,8}

样例1解释,一共12种;

20%的数据:n,m\leq 10,1 \leq a_i,b_i \leq 100;

50%的数据:n,m\leq 24,1\leq a_i,b_i \leq 1000;

100%的数据:n,m\leq 1000,1\leq a_i,b_i \leq 1000;


提交

题目参数
时间限制 1 秒
内存限制 128 MB
提交