Brute Force solution!
Intuition\nWe get the product of every possible removal, and compare them.\n\n# Approach\nInitialize the maximum value as the product of the lcm and gcd of the 
# Intuition\nWe get the product of every possible removal, and compare them.\n\n# Approach\nInitialize the maximum value as the product of the lcm and gcd of the entire nums list, as that will be the possible value when no number is removed from the list.\nThen simply iterate over the list and remove every number and check if the lcm * gcd of the list without this number is greater than the current maximum value.\nReturn the final value of the maximum.\n\n# Code\n```python3 []\nclass Solution:\n    def maxScore(self, nums: List[int]) -> int:\n        if len(nums) == 1:\n            return nums[0] ** 2\n\n        if len(nums) == 0:\n            return 0\n\n        score = math.gcd(*nums) * math.lcm(*nums)\n        for i in range(len(nums)):\n            changedList = nums[:i] + nums[i + 1 :]\n            score = max(score, math.gcd(*changedList) * math.lcm(*changedList))\n\n        return score\n\n```
['Array', 'Python3']