// p04_05.cpp: Writing a number as a product of prime factors.
#include <iostream>
using namespace std;
void tryFactor(unsigned long *p, unsigned i)
{  static int factorPrinted = 0;
   while (*p % i == 0)
   {  if (factorPrinted) cout << " x "; else
      {  cout << " = ";
         factorPrinted = 1;
      }
      cout << i;
      *p /= i;
   }
}
int main()
{  unsigned long a, a0, i;
   do
   {  cout << "Enter a positive integer: ";
      cin >> a;
   }  while (a < 1);
   a0 = a;
   cout << endl << a;
   tryFactor(&a, 2);
   for (i=3; i*i <= a0; i+=2) 
      tryFactor(&a, i);
   if (a > 1) tryFactor(&a, a); 
   cout << endl;
   return 0;
}
