M-破碎的愿望
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

「Rhongomyniad!」
圣枪击穿了圣杯,原本就仅有一个碎片的虚假圣杯,现在更是变成了一撮辉煌的粉末,散失地飞舞在空中。是破碎的无数梦想的实体。并不是为了什么正义,仅仅是有必要结束这一切。由曾是御主(master)的我取得的圣杯的碎片,应当由我去结束这一切。
「师父」
「回去了,格蕾」身边的黑泥应该不久就会自行消散,回归大源了吧
「为什么会变成这样,圣杯不是万能的愿望机吗」
「因为无法实现的愿望就是无法实现啊」我叹了一口气「世界的前进只是在不断的循环。那个人固然是天才,但无法做到的事情就是无法做到。所以他放弃了」
「我不明白」
「人类史的最初可以比作一个字符串,把原本的字符串翻转后拼接到原来的字符串后面,就会得到一个新的字符串,如此的反复,人类史就是如此进行着无限的延伸。所以如果你想要知道这个无限延伸的字符串上的某个字符,是很简单的一件事。但不可能得到那些不存在于这个字符串上的字符啊。」
「那师父为什么你还不放弃呢」
「我想证明这是错误的」
格蕾没有再多问
 。

输入描述:

第一行输入n (1<=n<=30)和k (1<=k<=1018),代表字符串最初的长度和所需要知道的字符的序号
第二行输入一个仅由小写字符组成的字符串str,(|str|==n)。其中|str|代表字符串的长度。

输出描述:

输出第k个字符
示例1

输入

复制
3 2
abc

输出

复制
b

说明

关于样例的翻转:

原字符串:abc

翻转并拼接:abccba

翻转并拼接:abccbaabccba

......