output_description: Print the maximum number of times the operation can be applied.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
attempt: def resolve():
  	answer = 0
  	N = int(input())
  	if N==1:
  		print(answer)
  	else:
  		# 素因数pを見つける。範囲は2から√Nまででよい。
  		for p in range(2, int(N**0.5)+2):
  			e = 0
  			while (N % p == 0):
  				N /= p
  				e += 1
  			# z=p**eが見つかった
  			if e>0:
  				# eを1, 2, 3, 4...に分けられる回数カウント
  				for i in range(1, e+1):
  					if e >= i:
  						e -= i
  						answer += 1
  		# √Nまでで割り切れなかった場合、N自身が素数
  		if N!=1:
  			answer += 1
  		print(answer)
          
  resolve()
problem_description: Statement
  
  Given is a positive integer N. Consider repeatedly applying the operation
  below on N:
  
    * First, choose a positive integer z satisfying all of the conditions below:
      * z can be represented as z=p^e, where p is a prime number and e is a positive integer;
      * z divides N;
      * z is different from all integers chosen in previous operations.
    * Then, replace N with N/z.
  
  Find the maximum number of times the operation can be applied.
samples: [{"input": "24", "output": "3\n    \n\nWe can apply the operation three times by, for example, making the following\nchoices:\n\n  * Choose z=2 (=2^1). (Now we have N=12.)\n  * Choose z=3 (=3^1). (Now we have N=4.)\n  * Choose z=4 (=2^2). (Now we have N=1.)\n\n* * *"}, {"input": "1", "output": "0\n    \n\nWe cannot apply the operation at all.\n\n* * *"}, {"input": "64", "output": "3\n    \n\nWe can apply the operation three times by, for example, making the following\nchoices:\n\n  * Choose z=2 (=2^1). (Now we have N=32.)\n  * Choose z=4 (=2^2). (Now we have N=8.)\n  * Choose z=8 (=2^3). (Now we have N=1.)\n\n* * *"}, {"input": "1000000007", "output": "1\n    \n\nWe can apply the operation once by, for example, making the following choice:\n\n  * z=1000000007 (=1000000007^1). (Now we have N=1.)\n\n* * *"}, {"input": "997764507000", "output": "7"}]