给定一个包含 $N$ 个非负整数的数组 $A$。你需要构造一个大小为 $N \times M$ 的二进制网格,使得:
- 对于任何值为 $1$ 的单元格,其所有相邻单元格(即与其共享四条边之一的单元格)的值都不能为 $1$。
- 第 $i$ 行中值为 $1$ 的单元格数量恰好为 $A_i$。
请找出任意一个满足条件的二进制网格,或者说明无法构造。
输入格式
第一行包含两个整数 $N$ 和 $M$ ($1 \le N, M \le 1000$)。下一行包含 $N$ 个整数,表示 $A_i$ ($0 \le A_i \le M$)。
输出格式
输出 $N$ 行,每行包含 $M$ 个字符($0$ 或 $1$),表示你构造的二进制网格。如果存在多种构造方式,你可以输出其中任意一种。如果不存在这样的网格,输出 $-1$。
样例
输入 1
6 7 4 3 2 2 3 4
输出 1
1010101 0101010 1010000 0000101 0101010 1010101
输入 2
2 2 2 2
输出 2
-1