回文数
题号:NC212226
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

Froggy 分别给出 10 个数码的出现次数,你需要找到一个由这些数码组成的最小的数满足:
1. 这个数是回文的。
2. 不能有前导 0。
注:假设这个数字长度是 ,那么这个数是回文的当且仅当对于任意的 ,第  位的数码和第  位的数码相同。
快来帮帮 Froggy 吧!

输入描述:

一行 10 个自然数,分别表示数码  的出现次数。

输出描述:

如果无解,只输出 “-1”。(不含引号)
否则,输出一个数表示最小的解。
示例1

输入

复制
0 2 4 2 0 2 0 0 0 0

输出

复制
1223553221
示例2

输入

复制
1 1 4 5 1 4 0 0 0 0

输出

复制
-1
示例3

输入

复制
4 0 2 3 0 0 0 2 0 0

输出

复制
20037373002
示例4

输入

复制
2 0 0 0 0 0 0 0 0 1

输出

复制
-1

说明

注意不能有前导 0。
示例5

输入

复制
1 0 0 0 0 0 0 0 0 0

输出

复制
0

备注:

保证输入的所有数都不超过 ,且至少有一个数大于