Ayu 成功偷到了 Budi 的宝箱,准备揭开 Budi 隐藏的任何秘密。不幸的是,宝箱有一个安全系统,可以防止任何未经授权的人(例如 Ayu)打开它。
为了解锁宝箱,Ayu 必须输入一个长度为 $N$ 的正确 PIN(个人识别码),当然,她并不知道这个 PIN。Ayu 别无选择,只能尝试所有可能的 PIN 组合。然而,Ayu 注意到这个安全系统有一个有趣的(老式)机制。
当你输入一个 $N$ 位的 PIN 时,它会被自动且迅速地评估,也就是说,你不需要按下任何“回车”按钮来确认 PIN。每当你输入的 PIN 错误时,它会移除最旧的(第一位)数字,并将剩余的所有数字向左移动,因此,你只需要再输入一个(最后一位)数字,使其再次达到 $N$ 位长度。
例如,设 $N = 4$。如果我们输入 204320435,那么我们实际上测试了 6 个 PIN(包含 5 个不同的 PIN):
- [2043]20435,测试的 PIN = 2043
- 2[0432]0435,测试的 PIN = 0432
- 20[4320]435,测试的 PIN = 4320
- 204[3204]35,测试的 PIN = 3204
- 2043[2043]5,测试的 PIN = 2043
- 20432[0435],测试的 PIN = 0435
注意,在这个例子中 2043 被测试了两次。
作为一名计算机专业的学生,Ayu 知道通过尝试所有可能的组合来找到正确的 PIN 可能非常耗时,但可惜的是,没有其他办法。Ayu 决定她想在第一天测试至少 $K$ 个不同的 PIN。你的任务是通过给 Ayu 一个包含至少 $K$ 个不同 PIN 的字符串 $S$ 来帮助她。Ayu 不关心她将测试哪个 PIN(只要至少有 $K$ 个不同的 PIN),也不关心 $S$ 中是否有任何 PIN 被测试超过一次,但字符串 $S$ 需要尽可能短。如果存在多个可能的字符串 $S$,你可以输出其中任何一个。
注意,由于这个系统非常老旧,只有 $M$ 个可用的数字,范围从 0 到 9。
输入格式
输入的第一行包含三个整数:$N, M, K$ ($1 \le N \le 100000, 1 \le M \le 10, 1 \le K \le \min(M^N, 100000)$),分别代表 PIN 的长度、可用数字的数量以及需要测试的最小 PIN 数量。下一行包含 $M$ 个整数:$A_i$ ($0 \le A_i \le 9$),代表可用的数字。你可以假设所有 $A_i$ 都是不同的。你还可以假设 $N, M$ 和 $K$ 的值使得答案的长度不超过 100000 位。
输出格式
输出一行,包含包含至少 $K$ 个不同 PIN 作为子串的最短字符串。如果存在多个这样的字符串,你可以输出其中任何一个。
样例
样例输入 1
3 2 5 4 7
样例输出 1
7477447
说明 1
字符串 7477447 测试了 5 个长度为 3 的不同 PIN,即 447, 477, 744, 747 和 774。
样例输入 2
2 5 9 1 2 3 4 5
样例输出 2
1234554321
说明 2
字符串 1234554321 测试了 9 个长度为 2 的不同 PIN,即 12, 21, 23, 32, 34, 43, 45, 54 和 55。
样例输入 3
6 3 2 9 3 5
样例输出 3
9353593
说明 3
字符串 9353593 测试了 2 个长度为 6 的不同 PIN,即 353593 和 935359。