#include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const int INF = 114514; int H, W; int a[10], b[10]; int dp[1<<10]; int solve(int m){ for(int i=0;i> H >> W; for(int i=0;i> d; a[i] |= d << j; } } for(int m=0;m<1<> i) & 1){ if (i > 0) m ^= 1 << (i - 1); m ^= 1 << i; if (i < W - 1) m ^= 1 << (i + 1); ++cnt; } dp[m] = min(dp[m], cnt); } int res = INF; for(int m=0;m<1<= INF) { cout << "Impossible" << endl; } else { cout << res << endl; } return 0; }