#!/usr/bin/env python3 def solve(b, d): # find k d = list(map(int, reversed(d))) + [ 0 ] * 10 k = 1 while True: preserved = { i: d[i] for i in [ k - 1, k ] } d[k - 1] += k d[k] -= k for i in range(k - 1, len(d) - 1): if i >= k and 0 <= d[i] < b: break else: if i >= k: preserved[i + 1] = d[i + 1] d[i + 1] += d[i] // b d[i] %= b else: for i, d_i in preserved.items(): d[i] = d_i break k += 1 # decode d to int s = d d = 0 for c in reversed(s): d = b * d + c # remaining part d -= 1 d1 = (k - 1 - d) % k return (d1 == k - 1) + (d // (b ** d1 * k)) % b if __name__ == '__main__': b = int(input()) d = input() print(solve(b, d))