#!/usr/bin/env python3 import sys def main(): b = int(input()) n = int(input(), b) - 1 # n = convert_base(b, input()) - 1 # print(n) ok = 0 ng = 10**5 + 1 while abs(ok - ng) > 1: mid = (ok + ng) // 2 if get_length_d(b, mid) < n: ok = mid else: ng = mid # print('max_digit:', ok) # print('max_digit_length:', get_length_d(b, ok)) dig = ok base = get_length_d(b, dig) bpdig = b**dig x = (n - base)//(dig+1) + bpdig - 1 def get_remain_length(b, x): return (dig + 1) * (x - bpdig + 1) t = base + get_remain_length(b, x) # print(n) # print(t) s = reconvert(b, x+1) # print(s) print(s[n - t]) def get_length_d(b, d): return (d * b**(d+1) - (d+1) * b**d + 1) // (b - 1) def convert_base(b, n): res = 0 for ni in n: res = res*b + int(ni) return res def reconvert(b, n): res = [] while n > 0: res.append(str(n % b)) n //= b res.reverse() return ''.join(res) if __name__ == '__main__': assert convert_base(2, '1011') == 11 assert reconvert(2, 7) == '111' assert reconvert(2, 6) == '110' main()