Question: You are given three parameters: start(int), end(int) and list(of int);

Make a function that returns the amount of times all the numbers between **start** and **end** are multiples of the elements in the **list**.
example:

```
start = 15; end = 18; list = [2, 4, 3];
15 => 1 (is multiple of 3)
16 => 2 (is multiple of 2 and 4)
17 => 0
18 => 2 (is multiple of 2 and 3)
result = 5

```

The function should accept two positive integer numbers and an array of integers as parameters, returning the total integer number. Assume that start is less <= end.

examples: 

```
Multiple(1, 10, [1, 2]); => 15
Multiple(1, 800, [7, 8]); => 214
Multiple(301, 5000,[13, 5]); => 1301

```

The shortest solution is the victor!!! May he odds be ever in your favor...

Answer: 
[05AB1E](https://github.com/Adriandmen/05AB1E), 5 bytes
=======================================================

```
ŸÑ˜åO

```

[Try it online!](https://tio.run/##yy9OTMpM/f//6I7DE0/PObzU//9/YwNDLlMDAwOuaENjHdNYAA "05AB1E – Try It Online")

---

### Explanation

```
Ÿ       - the numbers between start and end 
 Ñ      - get their divisors
  ˜     - deep flatten this list
   å    - find the instances of the elements in the list in these divisors
    O   - Sum this

```
JavaScript (ES6), 47 bytes
==========================

Takes input as `(list, start)(end)`.

```javascript
(a,x,s=0)=>g=y=>y<x?s:g(y-1,a.map(c=>y%c||s++))

```

[Try it online!](https://tio.run/##XczRCoIwGIbh865iJ8GGv7pfG0k0u5DoYCwdhjlpEQ6897UYdOB3@PLwPdRHOf0a5nc@2XsXehmoggWc5Ey2RnrZ@vNycSdDfY6giqeaqY5xr9fVZRljQdvJ2bErRmtoT68IpLoBQUaRM0bSypKg2G3kEUiTZMP/NMoKD1uKNRARbc2jFjzx32kM4Qs "JavaScript (Node.js) – Try It Online")