小红的矩阵构造(一)
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小红有两个长度为 n 的排列 ab ,你需要构造一个大小为 n \times n 的 01 矩阵,使得矩阵第 i 行有 a_i 个 1,第 i 列有 b_i 个 1。

排列的定义为:一个长度为 n 的数组,其中 1 到 n 中每个数字恰好出现一次。

如果有多个答案,则输出任意一个,如果无解,则输出 -1。

输入描述:

第一行输入一个整数 n(1 \leq n \leq 10^3) 表示排列长度。

第二行输入 n 个整数表示排列 a(1 \leq a_i \leq n)

第三行输入 n 个整数表示排列 b(1 \leq b_i \leq n)

输出描述:

输出一个 nn 列的 01 矩阵表示答案。若无解则输出 -1。
示例1

输入

复制
3
1 2 3
1 2 3

输出

复制
001
011
111