#include <bits/stdc++.h>

const int N=55,Mod=1e9+7;

int n,a[N<<1],f[N][N<<1][N<<1];

void Init() {
	scanf("%d",&n);
	for (int i=1;i<=(n<<1)-1;++i) scanf("%d",&a[i]);
	std::sort(a+1,a+(n<<1));
}

void Solve() {
	a[0]=a[1]; a[n<<1]=a[(n<<1)-1];
	f[n][a[n-1]!=a[n]][a[n+1]!=a[n]]=1;
	for (int i=n,d=0;i>=1;--i) {
		++d; int pl=(a[n-d]!=a[n-d-1]),pr=(a[n+d]!=a[n+d+1]);
		for (int l=0;l<(n<<1);++l) 
			for (int r=0;r<(n<<1);++r) if (f[i][l][r]) {
				int v=f[i][l][r];
				for (int a=0;a<l;++a) f[i-1][a+pl][r+pr+1]=(f[i-1][a+pl][r+pr+1]+v)%Mod;
				f[i-1][l+pl][r+pr]=(f[i-1][l+pl][r+pr]+v)%Mod;
				for (int a=0;a<r;++a) f[i-1][l+pl+1][a+pr]=(f[i-1][l+pl+1][a+pr]+v)%Mod;
			}
	}
	int ans=0;
	for (int l=0;l<(n<<1);++l) 
		for (int r=0;r<(n<<1);++r) 
			ans=(ans+f[1][l][r])%Mod;
	printf("%d\n",ans);
}

int main() {
	Init();
	Solve();
	return 0;
}