basic solution || <<AWSZOABI>>
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```java []\nclass Solution {\n    public List<List<Integer>> findPrimePairs(int n) {\n        List<List<Integer>> list = new ArrayList<>(); \n        boolean[] numbers = new boolean[n + 1];  \n        \n        // Initialize all numbers as prime (true), except 0 and 1\n        for (int i = 2; i <= n; i++) {\n            numbers[i] = true;\n        }\n\n        // Sieve of Eratosthenes to mark non-prime numbers\n        for (int i = 2; i * i <= n; i++) {\n            if (numbers[i]) {\n                for (int k = i * i; k <= n; k += i) {\n                    numbers[k] = false; // Mark multiples of i as non-prime\n                }\n            }\n        }\n\n        // Check for prime pairs that sum up to \'n\'\n        for (int j = 2; j <= n / 2; j++) {\n            if (numbers[j] && numbers[n - j]) {\n                List<Integer> pair = new ArrayList<>();\n                pair.add(j);\n                pair.add(n - j);\n                list.add(pair);\n            }\n        }\n\n        return list; // Return the list of prime pairs\n    }\n}\n\n```
['Java']