import sys sys.setrecursionlimit(10**8) # 素因数分解 '26/02/14改訂 # def PF(n)内のxを素数に限定しないと大量処理では時間がかかる def eratos(n): primes = [True] * (n+1) primes[0], primes[1] = False, False for i in range(2, int(n**0.5)+1): if primes[i]: for j in range(i**2, n+1, i): primes[j] = False ret = [num for num, is_prime in enumerate(primes) if is_prime] return ret prime = eratos(10 ** 5 +1) def PF(n): y = n p = [] for x in prime: if x * x > n: break cnt = 0 while y % x == 0: y //= x cnt += 1 if cnt != 0: p.append((x,cnt)) if y != 1: p.append((y,1)) return p N,K,M = map(int, input().split()) P = PF(N) num = len(P) ans = 0 def dfs(n,v): global ans if n == num: ans += 1 return pr = P[n][0] loop = P[n][1] * K for c in range(loop+1): nv = v * pow(pr,c) if nv > M: break dfs(n+1,nv) dfs(0,1) print(ans)