旭丘幼儿园的小班开设了一门教授数论的课程。Mocha 在研究数论的过程中,发现了一种奇妙的 数——Mocha 数。

Mocha 数是一个由几个互不相同的数字构成且不含前导零的正整数。

为了方便研究,Mocha 想知道是否存在一个包含 n 个数位的 Mocha 数,如果存在,其中最小的 Mocha 数是多少。

输入一个整数 n(1 ≤ n ≤ 20),代表询问的位数。

如果存在包含 n 个数位的 Mocha 数,输出最小的 n 位 Mocha 数,否则输出 −1。

样例

input

1

output

1

1 到 9 都是只包含 1 个数位的 Mocha 数,其中 1 是最小的 Mocha 数

思路

如果题意所说的互不相同数字是指单个数字, 而不是把13当成整体的话, 当n大于10时便无解。

10及以内直接打表即可: 1-1 2-10 3-102 4-1023 5-10234 6-102345 7-1023456 8-10234567 9-102345678 10-1023456789

可悲的是当时头昏脑涨在考虑让13也当做一个数字时的情况, 一个一个在枚举, WA了好几次。

代码

// By 
#include <iostream>
using namespace std;
string s = "1023456789";
 
int main()
{
	int n;
	cin >> n;
	if(n > s.length()) cout << "-1";
	else{
		for(int i = 0; i < n; ++i) cout << s[i];
	}
	return 0;
}