public static HashMap<Integer, Integer> get(int number) {
        if (number > max) {
            return null;
        }
        final int start = 2;
        final int end = number;
        final HashMap<Integer, Integer> pfs = new HashMap<Integer, Integer>();
        while (number >= start) {
            for (int n = 0; n < primes.size(); n++) {
                int pf = primes.get(n);
                if (number < start) {
                    break;
                }
                if (pf > end) {
                    break;
                }
                if (!isDivisible(number, pf)) {
                    continue;
                } else {
                    int cnt = 1;
                    if (pfs.containsKey(pf)) {
                        cnt += pfs.get(pf);
                    }
                    pfs.put(pf, cnt);
                    number /= pf;
                }
            }
        }
        return pfs;
    }