题目描述
【题目描述】
奶牛们正在试验密码,并设计了一种方法来创建一个无限长的字符串,用作它们的密码的一部分。
给定一个字符串S,设F(s)是s,后面跟S向右“旋转”一个字符(在向右旋转中,S的最后一个字符旋转并成为新的第一个字符)。给定一个初始字符串S,奶牛通过重复应用F来构建其无限长的代码字符串;因此,每个步骤使当前字符串的长度加倍。
给定初始字符串和索引N,请帮助奶牛计算无限代码字符串中第N个位置的字符。
【输入格式】(cowcode.in):
输入一行,包含一个由大写字符组成的字符串和一个整数N,大写字母最多30个字符,且N≤10^18。
注意,N可能太大,不适合标准的32位整数,所以你可能想使用64位整数类型(例如,C/ c++中的"long long")。
【输出格式】(cowcode.out):
请输出从初始字符串构建的无限代码的第n个字符。第一个字符是N=1。
【样例输入】:
COW 8
【样例输出】:
C
【样例说明】
在本例中,初始字符串COW展开如下:
COW-> COWWCO-> COWWCOOCOWWC