def b(n, base):
d = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
return d[n % base] if n < base else b(n // base, base) + d[n % base]
print(max(x for x in range(1, 2031) if b(7**91 + 7**160 - x, 7).count('0') == 70))
print(next(x for x in range(1, 10000) if (lambda s: s.count('8') - s.count('2'))(b(9**1942 + (9**6)**971 + 214 - x, 9)) == 471))
print(max(b(7**2070 + 7**400 - x, 9).count('0') for x in range(1, 1951)))
print(max(x for x in range(1, 1000001) if b(25**340 + 25**79 - 5**60 + x, 25).count('0') == 287))
mx5 = max(b(5**100 - i, 5).count('0') for i in range(1, 2031))
print(min(x for x in range(1, 2031) if b(5**100 - x, 5).count('0') == mx5))
mx6 = max(b(12**457 + 12**48 - i, 12).count('0') for i in range(1, 3501))
print(min(x for x in range(1, 3501) if b(12**457 + 12**48 - x, 12).count('0') == mx6))