#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
const int N = 110;
int n, a[N], ans = 0;
int f[N / 2][N][N];

int main() {
	scanf("%d", &n);
	for(int i = 1; i < n + n; i++) scanf("%d", &a[i]);
	sort(a + 1, a + n + n);
	f[n][1][0] = 1;
	for(int i = n - 1; i; i--) {
		int l = (a[i] != a[i + 1]), r = (a[n + n - i] != a[n + n - i - 1]);
		for(int j = 0; j <= n + n - 1; j++)
			for(int k = 0; k <= n + n - 1; k++) if(f[i + 1][j][k]) {
				for(int h = 1; h <= l + j; ++h)
					f[i][j + l - h + 1][k + r + (h > 1)] = (f[i][j + l - h + 1][k + r + (h > 1)] + f[i + 1][j][k]) % mod;
				for(int h = 1; h <= r + k; ++h)
					f[i][j + l + 1][k + r - h] = (f[i][j + l + 1][k + r - h] + f[i + 1][j][k]) % mod;
			}
	}
	for(int i = 0; i <= n + n - 1; i++)
		for(int j = 0; j <= n + n - 1; j++) ans = (ans + f[1][i][j]) % mod;
	printf("%d\n", ans);
	return 0;
}