#include<cstdio>
#include<algorithm>
using namespace std;
int dp[101][101][101],a[101],m,mo,n,ans;
bool cmp(int aa,int bb){return(aa<bb);}
int main()
{
	scanf("%d",&n);
	m=2*n-1;
	for(int i=1;i<=m;i++) scanf("%d",&a[i]);
	sort(a+1,a+1+m,cmp); 
	dp[n][1][1]=1;
	mo=1000000007;
	for(int i=n-1;i>=1;i--)
	{
		int l=0,r=0;
		if(a[i]!=a[i+1])l=1;
		if(a[m-i+1]!=a[m-i]) r=1;
		for(int j=2*(n-i)-1;j>=1;j--)
		for(int k=1+l;k<=j+l;k++)
		for(int ii=1;ii<=j+l+r;ii++)
		{
			if(ii>k) dp[i][k+1][j+l+r-(ii-k-1)]=(dp[i][k+1][j+l+r-(ii-k-1)]+dp[i+1][k-l][j])%mo;
			if(ii==k) dp[i][k][j+l+r]=(dp[i][k][j+l+r]+dp[i+1][k-l][j])%mo;
			if(ii<k) dp[i][ii][j+l+r-(k-ii-1)]=(dp[i][ii][j+l+r-(k-ii-1)]+dp[i+1][k-l][j])%mo;
		}
	}
	ans=0;
	for(int i=1;i<=m;i++)
	for(int j=1;j<=m;j++) ans=(ans+dp[1][i][j])%mo;
	printf("%d\n",ans);
} 