CF217D.Bitonix' Patrol

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Byteland is trying to send a space mission onto the Bit-X planet. Their task is complicated by the fact that the orbit of the planet is regularly patrolled by Captain Bitonix, the leader of the space forces of Bit-X.

There are nn stations around Bit-X numbered clockwise from 1 to nn . The stations are evenly placed on a circular orbit, so the stations number ii and i+1i+1 (1<=i<n) , and the stations number 1 and nn , are neighboring. The distance between every pair of adjacent stations is equal to mm space miles. To go on a patrol, Captain Bitonix jumps in his rocket at one of the stations and flies in a circle, covering a distance of at least one space mile, before finishing in some (perhaps the starting) station.

Bitonix' rocket moves by burning fuel tanks. After Bitonix attaches an xx -liter fuel tank and chooses the direction (clockwise or counter-clockwise), the rocket flies exactly xx space miles along a circular orbit in the chosen direction. Note that the rocket has no brakes; it is not possible for the rocket to stop before depleting a fuel tank.

For example, assume that n=3n=3 and m=60m=60 and Bitonix has fuel tanks with volumes of 10, 60, 90 and 100 liters. If Bitonix starts from station 1, uses the 100-liter fuel tank to go clockwise, then uses the 90-liter fuel tank to go clockwise, and then uses the 10-liter fuel tank to go counterclockwise, he will finish back at station 1. This constitutes a valid patrol. Note that Bitonix does not have to use all available fuel tanks. Another valid option for Bitonix in this example would be to simply use the 60-liter fuel tank to fly to either station 2 or 3.

However, if nn was equal to 3, mm was equal to 60 and the only fuel tanks available to Bitonix were one 10-liter tank and one 100-liter tank, he would have no way of completing a valid patrol (he wouldn't be able to finish any patrol exactly at the station).

The Byteland space agency wants to destroy some of Captain Bitonix' fuel tanks so that he cannot to complete any valid patrol. Find how many different subsets of the tanks the agency can destroy to prevent Captain Bitonix from completing a patrol and output the answer modulo 10000000071000000007 (109+7)(10^{9}+7) .

输入格式

The first line of the input contains three integers nn ( 2<=n<=10002<=n<=1000 ) — the number of stations, mm ( 1<=m<=1201<=m<=120 ) — the distance between adjacent stations, and tt ( 1<=t<=100001<=t<=10000 ) — the number of fuel tanks owned by Captain Bitonix.

The second line of the input contains tt space-separated integers between 11 and 10910^{9} , inclusive — the volumes of Bitonix' fuel tanks.

输出格式

Output a single number — the number of distinct subsets of tanks that the Bytelandian space agency can destroy in order to prevent Captain Bitonix from completing a patrol, modulo 109+710^{9}+7 .

输入输出样例

  • 输入#1

    7 6 5
    5 4 12 6 5
    

    输出#1

    6
    
  • 输入#2

    3 60 2
    10 100
    

    输出#2

    4
    

说明/提示

All the fuel tanks are distinct, even if some of them have the same capacity.

首页