#include #include #include #include #include #include #define MAX 1000000 using namespace std; int n, ii; int ss; vector solve(string &in, int p, bool flag) { vector r; while(ii < in.size() - 1 && (flag || (p && flag == false))) { int a = 0; if(isdigit(in[ii])) { while(isdigit(in[ii++])) { a *= 10; a += (in[ii - 1] - '0'); } ii--; if(in[ii] == '(') { ii++; vector tmp = solve(in, 1, false); ii++; for(int i = 0 ; i < a ; i++) { for(int j = 0 ; j < tmp.size() ; j++) { r.push_back(tmp[j]); if(r.size() >= n + 100) return r; } } } else { for(int i = 0 ; i < a ; i++) r.push_back(in[ii]); ii++; } } else { while(ii < in.size() && in[ii] != ')' && !isdigit(in[ii])) r.push_back(in[ii++]); if(in[ii] == ')') p--; if(isdigit(in[ii])) { vector tmp = solve(in, 0, false); for(int i = 0 ; i < a ; i++) { for(int j = 0 ; j < tmp.size() ; j++) { r.push_back(tmp[j]); ss++; if(r.size() >= n + 100) return r; } } } if(p == 0 && flag == false) return r; } if(in[ii] == ')') p--; } return r; } int main() { string in; while(cin >> in >> n, in != "0" || n) { ii = 0; ss = 0; in.push_back(')'); vector rr = solve(in, 1, true); if(ss < n + 100 && n >= rr.size()) cout << 0 << endl; else cout << rr[n] << endl; } }