#include <bits/stdc++.h>

#define For(i, j, k) for(int i = j; i <= k; i++)

using namespace std;

const int N = 110;
const int Mod = 1e9 + 7;

int A[N], n;
int dp[N][N][N];

void add(int &x, int y){
	x += y;
	if(x >= Mod) x -= Mod;
}

int main(){

	scanf("%d", &n);
	For(i, 1, 2 * n - 1) scanf("%d", &A[i]);
	sort(A + 1, A + 2 * n);

	dp[0][1][1] = 1;
	For(i, 1, n - 1){
		bool a = A[n - i] ^ A[n - i + 1], b = A[n + i] ^ A[n + i - 1];

		For(j, 1, 2 * i - 1) For(k, 1, j){
			int val = dp[i - 1][j][k];
			if(!val) continue;

			For(u, a ^ 1, k - 1) add(dp[i][j + a + b - (k - u - 1)][u + a], val);
			add(dp[i][j + a + b][k + a], val);
			For(u, k + 1, j + b) add(dp[i][j + a + b - (u - k - 1)][u + a - (u - k - 1)], val);
		}
	}

	int ans = 0;
	For(j, 1, 2 * n - 1) For(k, 1, j)
		add(ans, dp[n - 1][j][k]);
	printf("%d\n", ans);

	return 0;
}