#include #include #include #include #include #include #include #include #include #include #include #include #include #include typedef long long ll; using namespace std; #define debug(x) cerr << #x << " = " << (x) << endl; #define mod 1000000007 //1e9+7(prime number) #define INF 1000000000 //1e9 #define LLINF 2000000000000000000LL //2e18 #define SIZE 30 int dp[1<<24]; int visited[1<<24]; int n; int f[SIZE][SIZE]; vector vec; void dfs(int h, int key, int last){ if(h >= n-n/4*2){ vec.push_back(key); return; } if(visited[key]) return; visited[key] = true; for(int j=last;j