JOIN

 Problem Statement

Problem Statement for Refactoring

### Problem Statement

You have been hired to do some refactoring. You are not really sure what that is, but you think it has something to do with factoring a number multiple times.

Recall that a factorization of a positive integer n is a collection of at least two positive integers, each larger than one, whose product is n. Note that the order of the numbers in a factorization is ignored, so 2*12 and 12*2 represent the same factorization of 24. In fact, 24 has precisely 6 valid factorizations: 2*2*2*3, 2*2*6, 2*3*4, 2*12, 3*8, and 4*6.

To prepare for your job, write a program that, given an int n, returns the number of unique factorizations of n.

### Definition

 Class: Refactoring Method: refactor Parameters: int Returns: int Method signature: int refactor(int n) (be sure your method is public)

### Constraints

-n will be between 2 and 2,000,000,000 inclusive.

### Examples

0)

 `24`
`Returns: 6`
 This is the example from the problem statement.
1)

 `9973`
`Returns: 0`
 9973 is a prime number, so there are no valid factorizations of 9973.
2)

 `9240`
`Returns: 295`
3)

 `1916006400`
`Returns: 7389115`
 The number of factorizations will never be larger than this.

This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2010, TopCoder, Inc. All rights reserved.

This problem was used for:
Single Round Match 216 Round 1 - Division I, Level Two