会数数的人
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

🍞同学在通过了🦌同学的考验后想出了一个十分具有挑战性的题目:n个字符串中选择k个串进行排列组合(可以重复选),可是作为一个会数数的人,他却不能轻易在这NK
n^k个组合串里找出字典序第x小的串,这让他有点尴尬,所以想请你帮他解决这个题目。

(看我干嘛,我不到啊)

输入描述:

第一行三个数字n(1 \leq n \leq 8), k(1 \leq k \leq n), x(1 \leq x \leq n^k),表示字符串数量,可以组合的数量,目标串字典序。

接下来n行,每行一个字符串s(1 \leq |s| \leq 10),表示给定的n个串。

输出描述:

输出一个字符串,表示第x小的串。
示例1

输入

复制
3 2 1
a
b
c

输出

复制
aa