CF1845F.Swimmers in the Pool

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

There is a pool of length ll where nn swimmers plan to swim. People start swimming at the same time (at the time moment 00 ), but you can assume that they take different lanes, so they don't interfere with each other.

Each person swims along the following route: they start at point 00 and swim to point ll with constant speed (which is equal to viv_i units per second for the ii -th swimmer). After reaching the point ll , the swimmer instantly (in negligible time) turns back and starts swimming to the point 00 with the same constant speed. After returning to the point 00 , the swimmer starts swimming to the point ll , and so on.

Let's say that some real moment of time is a meeting moment if there are at least two swimmers that are in the same point of the pool at that moment of time (that point may be 00 or ll as well as any other real point inside the pool).

The pool will be open for tt seconds. You have to calculate the number of meeting moments while the pool is open. Since the answer may be very large, print it modulo 109+710^9 + 7 .

输入格式

The first line contains two integers ll and tt ( 1l,t1091 \le l, t \le 10^9 ) — the length of the pool and the duration of the process (in seconds).

The second line contains the single integer nn ( 2n21052 \le n \le 2 \cdot 10^5 ) — the number of swimmers.

The third line contains nn integers v1,v2,,vnv_1, v_2, \dots, v_n ( 1vi21051 \le v_i \le 2 \cdot 10^5 ), where viv_i is the speed of the ii -th swimmer. All viv_i are pairwise distinct.

输出格式

Print one integer — the number of meeting moments (including moment tt if needed and excluding moment 00 ), taken modulo 109+710^9 + 7 .

输入输出样例

  • 输入#1

    9 18
    2
    1 2

    输出#1

    3
  • 输入#2

    12 13
    3
    4 2 6

    输出#2

    10
  • 输入#3

    1 1000000000
    3
    100000 150000 200000

    输出#3

    997200007

说明/提示

In the first example, there are three meeting moments:

  • moment 66 , during which both swimmers are in the point 66 ;
  • moment 1212 , during which both swimmers are in the point 66 ;
  • and moment 1818 , during which both swimmers are in the point 00 .
首页