#include <bits/stdc++.h> #define nx 1100 using namespace std; int n; int a[nx]; int main(){ cin>>n; for(int i = 0;i<n;++i){ cin>>a[i]; } sort(a,a+n); int ans = 1; for(int i = 0;i<n;++i){ ans*=(a[i]-i)%1000000007; } cout<<ans; return 0; }