#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ll p[100];
ll l;
int main()
{
string s;cin>>s;
ll n;cin>>n;
p[0] = 1;
for(int i=1;i<=63;i++) p[i] = p[i-1]*2;
for(int i=0;i<=50;i++)
{
if(p[i]*s.size() < n && p[i+1]*s.size() >= n)
{
l = i;
break;
}
}
ll r = s.size();
while(n>=s.size())
{
n-=p[l]*r;
l--;
}
cout<<s[l];
system("pause");
return 0;
}
为什么在第二个测试点的时候会段错误,后面9个全RE了