import sys

def isPrime(n):
    for i in range(2,int(n**0.5)+1):
        if n%i==0:
            return False
    return True

def firstPrimeDivisor(n):
    if (isPrime(n)):
        return n
    for i in range(2,n/2):
        if (isPrime(i) and n%i is 0):
            return i

def findDivs(n):
    divs = []
    m = n
    while(True):
        i = firstPrimeDivisor(m)
        if i == m:
            divs.append(m)
            break
        m /= i
        divs.append(i)
    return divs

def countDivs(ns):
    uniques = []
    uncount = {}
    for x in ns:
        if x not in uniques:
            uniques.append(x)
    for x in uniques:
        uncount.update({x:ns.count(x)})
    return uncount

def phiCounts(n):
    i = 1
    for x,y in list(n.items()):
        i *= (x**y) - (x**(y-1))
    return i

def main():
    for arg in sys.argv[1:]:
        print((phiCounts(countDivs(findDivs(int( arg ))))))

if __name__ == '__main__':
    main()
