import sys sys.setrecursionlimit(10 ** 7) def fctr1(n): f=[] c=0 r=int(n**0.5) for i in range(2,r+2): while n%i==0: c+=1 n=n//i if c!=0: f.append([i,c]) c=0 if n!=1: f.append([n,1]) return f def main(): N, K, M = map(int, input().split()) d = fctr1(N) for i in range(len(d)): d[i][1] = d[i][1] * K def dfs(x, y): if x == len(d): return 1 cnt = 0 tmp = 1 for i in range(d[x][1] + 1): tmp = y * (d[x][0] ** i) if tmp > M: break cnt += dfs(x + 1, tmp) return cnt print(dfs(0,1)) if __name__ == "__main__": main()