struct ProductOfDigits
{
	int smallestNumber( int N )
	{
		if( N < 10 )
			return 1;
		int ans = 0;
		for(int d=9; d>=2; --d)
			while( N%d == 0 )
				N/=d, ans++;
		return N==1 ? ans : -1;
	}
};
