public void Solve() {
        List<Integer> primes = Euler.GetPrimes(_max);
        ArrayList<Integer> circularPrimes = new ArrayList<Integer>();
        for (int i = 0; i < primes.size(); i++) {
            int prime = primes.get(i);
            if (prime < 10) {
                System.out.println(prime);
                circularPrimes.add(prime);
                continue;
            }

            List<Integer> primeDigits = GetDigits(prime);
            boolean isCircular = true;
            for (int j = 1; j < primeDigits.size(); j++) {
                primeDigits.add(primeDigits.remove(0));
                int circulatedPrime = GetNumber(primeDigits);

                if (!primes.contains(circulatedPrime)) {
                    isCircular = false;
                    break;
                }
            }
            if (isCircular) {
                System.out.println(prime);
                circularPrimes.add(prime);
            }
        }

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