#P4999. 秘密代码

秘密代码

题目描述

乐乐正在试验秘密代码,并设计了一种方法来创建一个无限长的字符串作为其代码的一部分使用。

给定一个字符串,对字符串进行一次操作(每一次正确的操作,最后一个字符都会成为新的第一个字符),然后把操作后的字符串放到操作前的字符串的后面。也就是说,给定一个初始字符串,之后的每一步都会增加当前字符串的长度。

给定初始字符串和 NN,请帮助乐乐计算无限字符串中位置为 NN 的字符。

输入文件 code.in

第一行输入一个字符串。该字符串包含最多 3030 个大写字母,数据保证 N1018N \leq 10^{18}

第二行输入一个整数 NN。请注意,数据可能很大,放进一个标准的 3232 位整数容器可能不够,所以你可能要使用一个 6464 位的整数容器(例如,在 C/C++ 中是 long long)。

输出文件 code.out

请输出从初始字符串生成的无限字符串中的下标为 NN 的字符。第一个字符的下标是 N=1N=1

BAD 8
B

生成过程如下:

BAD -> BADDBA -> BADDBAABADDB
                 12345678
ABC 1000
A