#LQP20240305. 青蛙跳

青蛙跳

编程实现

7171个大小相等的格子从左到右排成一排,编号从007070,其中NN个格子有荷叶,初始时青蛙在编号为00的格子。青蛙要按照以下规则,跳到最后一个有荷叶的格子; 1、青蛙每次最少跳11格,最多跳xx格: 2、青蛙每次只能跳到有荷叶的格子; 3、青蛙不能往回跳。 给定NN个有荷叶的格子编号,以及青蛙每次最多可以跳的格子数xx。请计算青蛙一共有多少种不同的方式跳到最后一个有荷叶的格子,如果青蛙不能跳到最后一个有荷叶的格子,输出00

例如: N=4x=3N=4,x=344个有荷叶的格子编号依次为13461、3、4、6,青蛙每次最多跳33格:

image

青蛙有以下不同的方式跳到最后一个有荷叶的格子(66号格子): 第一种:先跳到编号11的格子,接着跳到编号33的格子,再跳到编号44的格子,最后跳到编号66的格子;

image

第二种:先跳到编号11的格子,再跳到编号33的格子,最后跳到编号66的格子:

image

第三种:先跳到编号11的格子,再跳到编号44的格子,最后跳到编号66的格子:

image

第四种:先跳到编号33的格子,再跳到编号44的格子,最后跳到编号66的格子:

image

第五种:先跳到编号33的格子,最后跳到编号66的格子。

image

青蛙一共有55种不同的方式跳到最后一个有荷叶的格子。

输入描述

第一行输入一个整数N(3N30)N(3 \le N \le 30),表示有荷叶的格子数 第二行按从小到大的方式输入NN个互不相同的整数(1整数70)(1 \le 整数 \le 70),表示有荷叶的格子编号,整数之间以一个空格隔开 第三行输入一个整数x(1x5)x(1 \le x \le 5),表示青蛙每次最多可以跳的格子数

输出描述

输出一个整数,表示青蛙一共有多少种不同的方式跳到最后一个有荷叶的格子

样例

输入样例 #1

4
1 3 4 6
3

输出样例 #1

5