rt
#include <bits/stdc++.h>
using namespace std;
int a[30][10];
bool b[30]={0};
int x;
int dfs(int pos,int sum){
if(pos>x)return 1;
int s=sum;
for(int i=pos;i<=x;i++){
if(!b[i]){
if(a[pos][1]==i || a[pos][2]==i){
b[i]=true;
s+=dfs(pos+1,sum);
b[i]=false;
}
}
}
return s;
}
int main(){
cin >> x;
for(int i=1;i<=x;i++){
cin >> a[i][1] >> a[i][2];
}
cout << dfs(1,0);
return 0;
}