#JXGQ23001C. 棋盘涂鸦挑战

棋盘涂鸦挑战

题目描述

强哥拿到了一块巨大的 N×NN \times N 白色棋盘,他决定在棋盘上玩一个涂鸦游戏。强哥有两个幸运数字 AABB,他准备按照以下规则涂黑棋盘上的格子:

  1. 对角线涂黑:从中心点 (A,B)(A,B) 出发,向右下方向涂黑所有满足条件的格子。具体来说,对于每个整数 kk 使得 (A+k,B+k)(A+k, B+k) 仍在棋盘内,就把这个格子涂黑。
  2. 反对角线涂黑:同样从 (A,B)(A,B) 出发,但这次向左下方向涂黑格子。即对于每个整数 kk 使得 (A+k,Bk)(A+k, B-k) 仍在棋盘内,就涂黑这个格子。

涂完后,强哥想检查棋盘上某个矩形区域 (PiQ,RjS)(P \leq i \leq Q, R \leq j \leq S) 内每个格子的颜色。请你帮助他输出这个区域内所有格子的状态,用 # 表示黑色,. 表示白色。

数据范围

  • 棋盘大小 NN 可以达到 101810^{18},但不用担心,因为需要输出的区域大小不超过 3×1053 \times 10^5 个格子。
  • 1A,BN1 \leq A, B \leq N(强哥的幸运数字在棋盘范围内)。
  • 1PQN1 \leq P \leq Q \leq N(行的查询范围)。
  • 1RSN1 \leq R \leq S \leq N(列的查询范围)。
  • 所有输入都是整数。

输入格式

输入按照以下格式给出:

N A B
P Q R S

输出格式

输出 QP+1Q-P+1 行,每行是一个长度为 SR+1S-R+1 的字符串,表示对应格子的颜色(#.)。

输入样例1

5 3 2
1 5 1 5

输出样例1

...#.
#.#..
.#...
#.#..
...#.

输入样例2

5 3 3
4 5 2 5

输出样例2

#.#.
...#

输入样例3

1000000000000000000 999999999999999999 999999999999999999
999999999999999998 1000000000000000000 999999999999999998 1000000000000000000

输出样例3

#.#
.#.
#.#