#!/usr/bin/env python3 from collections import defaultdict def read_ints() -> list[int]: return [int(x) for x in input().split()] def main(): _ball_count, height = read_ints() balls = read_ints() counts = defaultdict(lambda: 0) for size in balls: counts[size] += 1 counts = list(counts.values()) dp = [[1] * (len(counts) + 1)] for _ in range(height): dp.append([0]) for i, count in enumerate(counts): value = dp[-1][i] + dp[-2][i] * count value %= 1_000_000_007 dp[-1].append(value) print(dp[-1][-1]) main()