#include <bits/stdc++.h>
using namespace std;
ifstream fin("culori.in");
ofstream fout("culori.out");
int n, i, j, k, l, cul[2 * 262], d[2 * 262][2 * 262];
int main() {
fin.tie(nullptr);
fout.tie(nullptr);
fin >> n;
n = 2 * n - 1;
for(i = 1; i <= n; i++) fin >> cul[i];
for(i = 1; i <= n; i++) d[i][i] = 1;
for(l = 2; l <= n; l++) {
for(i = 1; i + l - 1 <= n; i++) {
int j = i + l - 1;
if(cul[i] != cul[j]) continue;
for(k = i + 2; k <= j; k++) {
if(cul[i] != cul[j]) continue;
d[i][j] += d[i + 1][k - 1] * d[k][j];
}
}
}
fout << d[1][n];
return 0;
}