n,k = map(int,input().split()) *a, = map(int,input().split()) a.sort() MOD = 10**9+7 idx = 0 ans = 1 for i in range(n//2): while idx < n and a[n-1-i] + a[idx] <= k: idx += 1 ans *= min(idx-i,n-1-i*2) ans %= MOD print(ans)