#include<cstdio>
#include<algorithm>
using namespace std;
const int N=100,mo=1e9+7;
int n,m,i,j,k,x,a[N],f[51][N][N],ans;
void add(int &x,int k){x=(x+k)%mo;}
int main(){
	scanf("%d",&n);m=2*n-1;
	for (i=1;i<=m;i++) scanf("%d",&a[i]);
	sort(a+1,a+m+1);f[1][1][1]=1;
	for (i=1;i<n;i++){
		int l=a[n-i]!=a[n-i+1],r=a[n+i]!=a[n+i-1];
		for (j=1;j<=m;j++) for (k=1;k<=m;k++) if (f[i][j][k]){
			int tj=j+l+r,tk=k+l,v=f[i][j][k];
			for (x=1;x<tk;x++) add(f[i+1][tj-(tk-x-1)][x],v);
			add(f[i+1][tj][tk],v);
			for (x=tk+1;x<=tj;x++) add(f[i+1][tj-(x-tk-1)][tk+1],v);
		}
	}
	for (i=1;i<=m;i++) for (j=1;j<=m;j++) add(ans,f[n][i][j]);
	printf("%d",ans);
}