#include using namespace std; #define rep(i,n) for (int i=0; i<(n); ++i) #define nall(a) a.begin(),a.end() #define rall(a) a.rbegin(),a.rend() #define Yes cout << "Yes" << endl #define No cout << "No" << endl templateinline bool chmax(T&a,U b){if(ainline bool chmin(T&a,U b){if(a>b){a=b;return 1;}return 0;} using ll = long long; using ull = unsigned long long; using P = pair; const int inf = (1e9); const ll INF = (1e18)+(1e9); const ll dx[] = {0,1,0,-1,1,1,-1,-1}; const ll dy[] = {1,0,-1,0,1,-1,1,-1}; //#include //using namespace atcoder; //using mint = modint998244353; int testcase(){ ll n,k; cin >> n >> k; P s,t; cin >> s.first >> s.second; cin >> t.first >> t.second; s.first--;s.second--; t.first--;t.second--; ll cnt = abs(s.first-t.first)+abs(s.second-t.second); if(kcnt*2 || (k-cnt)%2){ cout << -1 << endl; return 0; } vector> board(n,vector(n)); rep(i,n){ rep(j,n){ if((i+j)%2) board[i][j] = 1; } } ll base = board[s.first][s.second]; board[t.first][t.second] = base; P now = s; ll rem = cnt*2-k; while(rem){ if(abs(now.first-t.first)){ now.first -= (now.first-t.first)/abs(now.first-t.first); if(board[now.first][now.second]!=base){ board[now.first][now.second] = base; } rem--; } else{ now.second -= (now.second-t.second)/abs(now.second-t.second); if(board[now.first][now.second]!=base){ board[now.first][now.second] = base; } rem--; } } rep(i,n){ rep(j,n){ if(board[i][j]==base) cout << '.'; else cout << '#'; } cout << endl; } return 0; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); //int t=1; //cin >> t; //while(t--) testcase(); return 0; }