from collections import defaultdict def factorize(x): ans = [] i = 2 while i*i <= x: if x % i == 0: c = 0 while x % i == 0: x //= i c += 1 ans.append((i,c)) i += 1 if x != 1: ans.append((x,1)) return ans N = int(input()) arr = factorize(N) #print(arr) L = len(arr) tmp = [(1,1)] for p,e in arr: tmp_ = [] for d,v in tmp: tmp_.append((d,v)) d *= p v *= p-1 for _ in range(e): tmp_.append((d,v)) d *= p v *= p tmp = tmp_ phi = {d:v for d,v in tmp} #print(phi) dp = {} dp[1] = 0 divsors = list(phi.keys()) divsors.sort() for d in divsors[1:]: dp[d] = d for d_ in divsors: if d > d_ and d % d_ == 0: dp[d] += dp[d_] * phi[d//d_] dp[d] /= d-1 print(dp[N])