// tavaszi_karneval.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#include <iostream>
#include <map>
using namespace std;
using ll = long long;
const ll mod = 1000000007;
int main()
{
ll size, hats;
cin >> size >> hats;
map<ll, ll> m;
m[0] = hats;
ll ans = 1;
for (ll i = 0; i < size; i++)
{
ll next;
cin >> next;
ans *= m[next];
ans %= mod;
m[next]--;
m[next + 1]++;
}
cout << ans << "\n";
}
// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu
// Tips for Getting Started:
// 1. Use the Solution Explorer window to add/manage files
// 2. Use the Team Explorer window to connect to source control
// 3. Use the Output window to see build output and other messages
// 4. Use the Error List window to view errors
// 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
// 6. In the future, to open this project again, go to File > Open > Project and select the .sln file