def f(n): l = [] a, b = 0, 2 while b * b <= n: if n % b == 0: n //= b l += [b] else: b += 1 + a a = 1 if n > 1 : l += [n] return [1] + l def g(a, b): r = [] for i in a: if b % i == 0: r += [i] b //= i return r gs = set([]) ga = 0 def p(s, ss): global ga if s == '': a = int(ss) gs.add(a) ga = a for i in set(s): p(s.replace(i, '', 1), ss+i) def main(): l = input() if len(set(l)) == 1: print(1) return s = set([]) p(l,'') a = f(ga) for i in gs: a = g(a, i) ans = 1 for i in a: ans *= i print(ans) if __name__ == '__main__': main()