{"trustable":true,"sections":[{"title":"","value":{"format":"HTML","content":"\u003chtml\u003e\n \u003chead\u003e\u003c/head\u003e\n \u003cbody\u003e\n \u003cp\u003e爱丽丝和鲍勃现在喜欢玩一种纸牌游戏。每个人开始拥有n张卡片,每张卡片最多有m个属性。现在他们需要完成Q个任务,每个任务都需要每个人出一张卡片,然后组成任务所需的属性类型(例如,任务需要属性A、B、C,爱丽丝的卡片包含A、B,鲍勃的卡片包含B、C,他们可以使用这个并集来完成任务)。\u003cbr\u003e 对于每个任务,爱丽丝和鲍勃可以以多少种方式完成这个任务。\u003c/p\u003e\n \u003c/body\u003e\n\u003c/html\u003e"}},{"title":"输入","value":{"format":"HTML","content":"\u003chtml\u003e\n \u003chead\u003e\u003c/head\u003e\n \u003cbody\u003e\n \u003cp\u003e这里有T个测试用例。(T≤20)(约5个测试用例 n≥1000 m≥12 Q≥1000)\u003cbr\u003e 对于每个测试用例。第一行包含两个整数n,m(n≤100000,m≤18),表示每个人拥有的卡片数量和总属性数。\u003cbr\u003e 接下来一行包含n个二进制数,表示爱丽丝拥有的卡片。第i个二进制数m_i表示每张卡片拥有的属性。(m_i \u003c 2^18)\u003cbr\u003e 接下来一行包含n个二进制数,表示鲍勃拥有的卡片。\u003cbr\u003e 然后包含一个整数Q,表示任务数量。\u003cbr\u003e 接下来的Q行,每行包含一个二进制数q_i,表示他们需要组成的属性。(q_i \u003c 2^18)\u003c/p\u003e\n \u003c/body\u003e\n\u003c/html\u003e"}},{"title":"输出","value":{"format":"HTML","content":"\u003chtml\u003e\n \u003chead\u003e\u003c/head\u003e\n \u003cbody\u003e\n \u003cp\u003e对于每个测试用例,首先输出一行“Case #%d:”\u003cbr\u003e 然后输出q行,每行包含一个数字,表示他们完成这个任务的方式数。\u003c/p\u003e\n \u003c/body\u003e\n\u003c/html\u003e"}},{"title":"样例输入","value":{"format":"HTML","content":"\u003cpre\u003e1\n4 4\n1001 11 1100 1000\n1110 1001 10 100\n2\n1100\n111\u003c/pre\u003e"}},{"title":"样例输出","value":{"format":"HTML","content":"\u003cpre\u003eCase #1:\n2\n1\u003c/pre\u003e"}},{"title":"提示","value":{"format":"HTML","content":"\u003chtml\u003e\n \u003chead\u003e\u003c/head\u003e\n \u003cbody\u003e\u003c/body\u003e\n\u003c/html\u003e"}}]}