n,k,m = map(int,input().split()) fac = [] for i in range(2,n+1): if n < i*i: fac.append((n,k)) break c = 0 while n%i == 0: n //= i c += 1 if c: fac.append((i,c*k)) L = len(fac) ans = 0 def dfs(x,i): global ans if i >= L: ans += 1 return p,c = fac[i] while x <= m and c >= 0: dfs(x,i+1) x *= p c -= 1 dfs(1,0) print(ans)