use proconio::{input, marker::Usize1}; fn main() { input! { n: usize, k: usize, s: (Usize1, Usize1), t: (Usize1, Usize1), } let mn = s.0.abs_diff(t.0) + s.1.abs_diff(t.1); let mx = mn * 2; if mn <= k && k <= mx && (k - mn) % 2 == 0 { let r = k - mn; let mut ans = vec![vec!['.'; n]; n]; for i in 0..n { for j in 0..n { if i.abs_diff(s.0) + j.abs_diff(s.1) <= r && (s.0 + s.1) % 2 != (i + j) % 2 { ans[i][j] = '#'; } } } for r in ans { println!("{}", r.iter().collect::()); } } else { println!("-1"); } }