#include #include #include #include using namespace std; int data[17][17]; const int LIMIT=16; long long int dp[70000][16]; vector seed[17]; vector perm[70000]; int isV(int p1,int p2){ if(p1>p2){ std::swap(p1,p2); } if(data[p1][p2]==1)return p1; return p2; } int main(){ memset(dp,0,sizeof(dp)); for(int i=0;i vec[17]; for(int i=1;i<=65535;i++){ bitset<16> b1(i); int t=b1.count(); if(t==2||t==4||t==8){ if((t<8)||((t==8)&&((i&1)==1))){ seed[b1.count()].push_back(i); } for(int j=0;j<16;j++){ if((i&(1<