小红的小红走矩阵
题号:NC270017
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

小红在出题“小红的走矩阵”时,在数据生成的环节发现了一些问题。
如果直接随机生成一个矩阵,那么结果大概率可以直接输出 n + m - 2
如果直接生成极限数据,那么结果也将是跑完整个矩阵,因此可以直接输出 n*m-1
为了避免以上的情况骗到分,于是小红想到了另一个方案:先随机生成一个从 (1,1)(n,m) 的路径,再将路径以外的矩阵的部分全部填成同一个字符。这样一来看似数据确实强,答案并不固定,但实际上也有非常明显的弊端,因为矩阵中大部分都是同一个字符,且这个字符在路径之外,因此选手可以通过“矩阵中是否存在绝对众数”来判断数据是否是这样的数据。

因此小红现在在数据生成的问题上犯了难,她希望小苯帮她来完成本题数据的生成,即请你来代替小苯构造出本题较强的数据。
使得所有的数据都能满足以下的所有条件:
1. 直接输出 n+m-2 会返回答案错误,换句话说,“小红走矩阵”这题的正确代码运行后的结果不是 n+m-2
2. 直接输出 n*m - 1 也会返回答案错误,换句话说,“小红走矩阵”这题的正确代码运行后的结果不是 n*m-1
3. 生成的矩阵中,不存在“绝对众数”。(即,没有任何字符的出现次数大于 n*m/2 向上取整)
4. 生成的矩阵必须能从 (1,1) 走到 (n, m),换句话说,“小红走矩阵”这题的正确代码运行后的结果不是 -1

输入描述:

输入包含一行两个正整数 n, m\ (3 \leq n, m \leq 10^3),分别表示需要生成的矩阵的大小,以空格分割。

输出描述:

输出包含一个 nm 列 的字符矩阵,满足题目所述的要求,且仅由小写英文字母构成。(如果有多种方案,输出任意即可)
示例1

输入

复制
3 4

输出

复制
abbc
accd
bcee

说明

路线如图,最短路长度为9,且满足题目的所有条件。

备注: