Coloring

题目描述

$\text{Snakes}$正在玩游戏,他在一张画有$n*m$个格子的白纸上给方格染色。然而,杂乱无章的染色并不有趣,所以他想出了一个奇怪的问题: 在$n*m$的方格中用$c$种不同的颜色尝试将所有方格染色,不同的颜色用$1..c$间的整数表示。染色需要满足以下条件: + 每个方格只能且必须染一种颜色。 + 第$i$种颜色最多可以且必须染$p_i$个格子,保证满足$\sum_{i=1}^cp_i=n*m$。 + 将每个格子上下左右与其颜色相同的格子视为位于同一个联通块内,并定义不同联通块之间的方格边的条数为$q$。可参考样例说明。 现在,$\text{Snakes}$想知道,如果给出$n,m,c$以及$p_1..p_c$,你能够构造出的符合条件且$q$尽量小的染色方案。

输入输出格式

输入格式


第一行,三个数,$n,m,c$。 第二行,$c$个数,第$i$个数为$p_i$。

输出格式


输出共$n$行,每行$m$个数,表示你构造出的$n*m$的$q$尽量少的染色方案。

输入输出样例

输入样例 #1

2 3 3
1 2 3

输出样例 #1

2 3 1
2 3 3

说明

```plain | | 2 | 3 | 1 + +--- 2 | 3 3 | ``` 对于样例,有$q=4$,其中三条竖边,一条横边。 #### 约定 本题为 Special Judge。 对于每个测试点,将会设置阈值$w$,并保证存在构造使得$q\leq w$。 对于程序输出的答案,我们将会以以下方式计算得分: $$\begin{matrix}q&score&q&score\\\\ q \leq w&10&1.75w < q \leq 2w&5\\\\ w < q \leq 1.1w&9&2w < q \leq 2.3w&4\\\\ 1.1w < q \leq 1.25w&8&2.3w < q \leq 2.6w&3\\\\ 1.25w < q \leq 1.5w&7&2.6w < q \leq 3w&2\\\\ 1.5w < q \leq 1.75w&6&3w < q \leq 3.5w&1\end{matrix}$$ 若$q > 3.5w$,将以 `Wrong Answer` 处理。 比赛时显示的得分即为最后得分。 #### 数据规模 对于$10\%$的数据,有$1\leq n,m\leq 3$,$c\leq 3$。 对于$30\%$的数据,有$1\leq n,m\leq 8$,$c\leq 6$。 对于$50\%$的数据,有$1\leq n,m\leq 15$,$c\leq 25$。 对于$100\%$的数据,有$1\leq n,m\leq 20$,$c\leq 50$,$p_i\leq 20$。