B = [ [0, 1, 1], [1, 2, 2], [1, 2, 2], ] T = gets.to_i def build_grid(h, w) grid = [] h.times do |y| row = [] w.times do |x| cy = if h - y >= 3 y % 3 else case h % 3 when 0 y % 3 when 1 y % 3 when 2 y % 3 + 1 end end cx = if w - x >= 3 x % 3 else case w % 3 when 0 x % 3 when 1 x % 3 when 2 x % 3 + 1 end end row << B[cy][cx] end grid << row end grid end T.times do h, w = gets.split.map(&:to_i) grid = build_grid(h, w) puts grid.map { |row| row.join(' ') } end