def prime_factors(n): factors = {} while n % 2 == 0: factors[2] = factors.get(2, 0) + 1 n = n // 2 i = 3 while i * i <= n: while n % i == 0: factors[i] = factors.get(i, 0) + 1 n = n // i i += 2 if n > 1: factors[n] = 1 return factors def get_divisors(n): factors = prime_factors(n) divisors = [1] for p, exp in factors.items(): current = [] p_powers = [p**e for e in range(exp + 1)] for d in divisors: for power in p_powers: current.append(d * power) divisors = list(set(current)) return divisors n = int(input()) if n == 1: print(1) exit() divisors = get_divisors(n) unique_ids = set() for a in divisors: b = n // a if a > b: continue s1 = str(a) + str(b) s2 = str(b) + str(a) if s1 != s2: unique_ids.add(s1) unique_ids.add(s2) else: unique_ids.add(s1) print(len(unique_ids))