#include <bits/stdc++.h>
#define mod 1000000007
using namespace std;
const int N = 205, M = 1005;
int n, m, ans;
int arr[N];
int dp[N][N][M];
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) cin >> arr[i];
sort(arr + 1, arr + n + 1);
dp[0][0][0] = 1;
for (int i = 0; i < n; i++)
for (int j = 0; j <= n; j++) {
int t = (arr[i + 1] - arr[i]) * j;
for (int k = 0; k <= m - t; k++) {
(dp[i + 1][j][k + t] += (long long)dp[i][j][k] * (j + 1) % mod) %= mod;
if (j != n) (dp[i + 1][j + 1][k + t] += dp[i][j][k]) %= mod;
if (j != 0)
(dp[i + 1][j + 1][k + t] += (long long)dp[i][j][k] * j % mod) %= mod;
}
}
for (int i = 0; i <= m; i++) ans += dp[n][0][i], ans %= mod;
cout << ans;
}