#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int n,a[30],b[30],ans;
bool use[30];
void search(int now){
if(now>n){ans++; return;}
if(!use[a[now]]){
use[a[now]]=true;
search(now+1);
use[a[now]]=false;
}
if(!use[b[now]]){
use[b[now]]=true;
search(now+1);
use[b[now]]=false;
}
return;
}
int main(){
memset(use,0,sizeof(use));
scanf("%d",&n);
if(n==0){puts("0"); return 0;}
for(int i=1;i<=n;i++)scanf("%d%d",&a[i],&b[i]);
search(1);
printf("%d\n",ans);
return 0;
}