Problem:
Euler's Phi Function

For given integer n, count the totatives of n, that is, the positive integers less than or equal to n that are relatively prime to n.

Input

n

An integer n (1 ≤ n ≤ 1000000000).

Output

The number of totatives in a line.

Sample Input 1

6

Sample Output 1

2

Sample Input 2

1000000

Sample Output 2

400000

Solution in Ruby (judge verdict: Accepted)

require 'prime'

def phi(n)
  return 1 if n == 1
  Prime.each(n - 1) do |p|
    next unless n % p == 0
    b = n
    j = 0
    while b % p == 0
      b /= p
      j += 1
    end
    return p**(j - 1) * (p - 1) * phi(b)
  end
  n - 1
end
input = gets.to_i

puts phi(input)