#include<bits/stdc++.h>
bool flag[1000005];
int List[1000005],primes[100000];
int listSize,cnt;  
using namespace std;
void sieve(int n)
{
   
cnt=0;
primes[cnt++] = 2;
for(int i=3; i<=n; i+=2)
{
if(flag[i] == 0)
{
primes[cnt++] = i;
if(i <= n/i)
{
for(int j=i*i; j<=n; j+=i*2)
flag[j] = 1;
}
}
}
return ;
}
void primeFactorize( int n )
 {
    listSize = 0;  
    
  
    for( int i = 0;i<cnt and primes[i]<=(int)sqrt(n);i++ )
    {
        if( n % primes[i] == 0 )
        {
        listSize++;
            while( n % primes[i] == 0 )
             {
                
                n /= primes[i];
               
                //List[listSize] = primes[i];
                
            }
           
        }
    }
   
    //if( n ==1 )
   
      //  break;
        //List[listSize] = n;
        //listSize++;
   
   
    return ;
}
int main()
{
    int n,N;
    sieve(1000005);
 while(cin>>n)
   {
       if(n==0) break;
       if(n==1)
       {
           cout<<"0"<<endl;
           continue;
       }
       N=n;
       primeFactorize(N);
       cout<<N<<" : "<<listSize+1<<endl;
   }
return 0;
}
 
			 
			
0 Comments