//给一个无向图 , 每条边可以是online边也可以是offline边,问
//有多少种方法使得每个节点的online边和offline边一样多
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
const int maxn = 110 ;
int on[maxn] , off[maxn];
int x[maxn] , y[maxn] ;
int degree[maxn] ;
int ans ;
int n , m ;
void dfs(int num)
{
if(num == m+1)
{
for(int i = 1;i <= n;i++)
if(on[i] != off[i])
return ;