#B3903. [NICA #3] 星空(Hard Version)
[NICA #3] 星空(Hard Version)
Description
小 R 有一个长度为 的序列 ,保证序列中的每个数都是 的整数次幂。
小 M 有一个数 ,她希望重新排列序列 ,使得不存在一个 满足 。重排的方式为:选择一个 的排列 ,然后令新序列 满足 。 即为重排后的序列。
现在你想要知道有多少种重排的方式能满足小 M 的要求。两种重排方式不同当且仅当选择的排列 不同。
Input Format
第一行输入两个正整数 ,表示序列长度和小 M 想的那个数;
第二行输入 个正整数 ,表示序列;
Output Format
输出一行表示答案。答案对 取模。
6 46
4 8 8 16 32 32
144
Hint
数据保证,,,。
京公网安备 11011102002149号