Competitions

# KBTU OPEN 2014 Spring

# Contest preparation

One time Arti was asked to prepare several programming contests. As he is very lazy, he decided to cheat a little. He prepared **n** tasks and for **i**-th task he prepared `s`

statements. Now he wants to gather contests
from these tasks with following rules:_{i}

- each task can be used in a contest only once;
- a contest must consist of
**a**to**b**tasks; - two contests are different if there is at least one task that is in one contest and not in the second one or if there is at least one task that has different statements in these contests;
- only set of tasks matters, not the order.

Calculate, how many different contest Arti can prepare. As this number can be very large, output it modulo `10`

+ ^{9}**7**.

#### Input

First line contains **n**, **a**, **b** (**1** ≤ **a** ≤ **b** ≤ **n** ≤ **10000**). Second line contains **n** integer numbers `s`

(_{i}**1** ≤ `s`

≤ _{i}**100**).

#### Output

Print one line - the number of different contests Arti can prepare modulo `10`

+ ^{9}**7**.

Input example #1

2 1 2 3 4

Output example #1

19