public void Solve() {
        ArrayList<String> allPandigital = new ArrayList<String>();
        for (int n = 2; n < 10; n++) {
            int[] workingSet = new int[n];
            for (int i = 0; i < workingSet.length; i++) {
                workingSet[i] = i + 1;
            }

            allPandigital.addAll(Enumerate(workingSet, 0));
        }

        ArrayList<Integer> pandigitalNumbers = new ArrayList<Integer>();
        for (Iterator<String> it = allPandigital.iterator(); it.hasNext();) {
            pandigitalNumbers.add(Integer.parseInt(it.next()));
        }
        Collections.sort(pandigitalNumbers);

        List<Integer> primes = Euler.GetPrimes(99999999);
        long lastPrimePandigital = 0;
        for (Iterator<Integer> it = pandigitalNumbers.iterator(); it.hasNext();) {
            Integer number = it.next();
            int searchResult = Collections.binarySearch(primes, number);
            if (0 <= searchResult) {
                lastPrimePandigital = number;
                System.out.println(number);
            }
        }

        System.out.println("Result=" + lastPrimePandigital);
    }