编程题
### 问题描述
小蓝要上一个楼梯,楼梯共有 $n$ 级台阶(即小蓝总共要走 $n$ 级)。小蓝每一步可以走 $a$ 级、$b$ 级或 $c$ 级台阶。
请问小蓝总共有多少种方案能正好走到楼梯顶端?
### 输入格式
输入的第一行包含一个整数 $n$ 。
第二行包含三个整数 $a, b, c$ 。
### 输出格式
输出一行包含一个整数,表示答案。答案可能很大,请输出答案除以 $1000000007$ 后的余数。
### 样例输入
```text
4
1 2 3
```
### 样例输出
```text
7
```
### 样例输入
```text
7
2 4 6
```
### 样例输出
```text
0
```
### 评测用例规模与约定
对于 $30$% 评测用例,$1 \leq a < b < c \leq n \leq 50$。
对于 $60$% 评测用例,$1 \leq a < b < c \leq n \leq 1000$。
对于所有评测用例,$1 \leq a < b < c \leq n \leq 1000000$。