#P3231. *【状态压缩DP】[USACO08NOV] Mixed Up Cows G

*【状态压缩DP】[USACO08NOV] Mixed Up Cows G

题目描述

N(4N16)N (4 \le N \le 16) 个数 ai (1ai25000)a_i \ (1 \le a_i \le 25000)

求有多少种排列,满足相邻两个数之差大于 K(1K3400)K (1 \le K \le 3400)

例如: N=6N = 6K=1K = 1

1,3,5,2,6,41, 3, 5, 2, 6, 4 满足, 1,3,6,5,2,41, 3, 6, 5, 2, 4 不满足。

输入格式

第一行两个整数 N KN \ K

下来 NN 个整数 aia_i

输出格式

一行一个整数,表示答案。

输入

4 1 
3  4  2  1

输出

2

样例解释

满足的排列如下:

3 1 4 2

2 4 1 3