#include <bits/stdc++.h>
using namespace std;
int M = 1e9 + 7;
int getCount(vector<int>& arr) {
sort(arr.begin(), arr.end());
long long res = 1;
for (int i = 1; i < arr.size(); i++) {
res *= ((arr[i] - arr[i - 1] + 1) % M);
res %= M;
}
return res;
}
int main() {
vector<int> ex1 = {1,3,4,2,1,2};
ex1.insert(ex1.begin(), 0);
// {1,1,2,2,3,4}
cout << getCount(ex1) << endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgTSA9IDFlOSArIDc7CmludCBnZXRDb3VudCh2ZWN0b3I8aW50PiYgYXJyKSB7Cglzb3J0KGFyci5iZWdpbigpLCBhcnIuZW5kKCkpOwoJbG9uZyBsb25nIHJlcyA9IDE7Cglmb3IgKGludCBpID0gMTsgaSA8IGFyci5zaXplKCk7IGkrKykgewoJCXJlcyAqPSAoKGFycltpXSAtIGFycltpIC0gMV0gKyAxKSAlIE0pOwoJCXJlcyAlPSBNOwoJfQoJCglyZXR1cm4gcmVzOwp9CgppbnQgbWFpbigpIHsKCXZlY3RvcjxpbnQ+IGV4MSA9IHsxLDMsNCwyLDEsMn07CglleDEuaW5zZXJ0KGV4MS5iZWdpbigpLCAwKTsKCS8vIHsxLDEsMiwyLDMsNH0KCWNvdXQgPDwgZ2V0Q291bnQoZXgxKSA8PCBlbmRsOwp9
MTAKYWJhCmdlZWtzZm9yZ2Vla3MKZ2Vla3Nmb3JnZWVrcwpnZWVrc2ZvcmdlZWtzCmdlZWtzZm9yZ2Vla3MKZ2Vla3Nmb3JnZWVrcwpnZWVrc2ZvcmdlZWtzCmdlZWtzZm9yZ2Vla3MKZ2Vla3Nmb3JnZWVrcwpnZWVrc2ZvcmdlZWtz
10
aba
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks