#agc041c. [agc041_c]Domino Quality

[agc041_c]Domino Quality

题目描述

考虑一个 N×NN \times N 的方格网格。你想要在这个网格上放置一些多米诺骨牌。每个多米诺骨牌覆盖两个有共同边的方格。每个方格最多只能被一个骨牌覆盖。

对于网格的每一行,定义其质量为至少有一个方格被多米诺骨牌覆盖的数量。类似地,我们也对每一列进行了定义。

寻找一种放置方式,使得每一行的质量等于每一列的质量,如果不存在这样的放置方式,则确定其不存在。

约束条件

  • 2N10002 \le N \le 1000

输入

输入通过标准输入给出,格式如下:

NN

输出

如果不存在所需的多米诺放置方式,输出一个整数 -1

否则,输出你的放置方式,为 NN 行,每行是 NN 个字符。如果一个方格没有被覆盖,则相应的字符必须是 .(点)。否则,它必须包含一个小写英文字母。由同一个多米诺骨牌覆盖的方格必须包含相同的字母。如果两个方格有共同的边但属于不同的骨牌,它们必须包含不同的字母。

示例输入 1

6

示例输出 1

aabb..
b..zz.
ba....
.a..aa
..a..b
..a..b

每一行和每一列的质量都是2。

示例输入 2

2

示例输出 2

-1