Python Medium
\nclass Solution:\n    def ambiguousCoordinates(self, s: str) -> List[str]:\n        t = ""\n        for char in s:\n            if char not in "()":\n         
```\nclass Solution:\n    def ambiguousCoordinates(self, s: str) -> List[str]:\n        t = ""\n        for char in s:\n            if char not in "()":\n                t += char\n               \n            \n        s = t\n                \n        N = len(s)\n        \n        self.options = set()\n        \n        def calc(index, left, right):\n\n            if index == N:\n                if left == "" or right == "":\n                    return\n                \n                \n                b1 = any(char not in ".0" for char in left) \n                b2 = any(char not in ".0" for char in right) \n                \n                if not b1 and len(left) > 1:\n                    return \n                \n                if not b2 and len(right) > 1:\n                    return\n                \n                if "." in left and left[0] == "0" and left[1] != ".":\n                    return\n                \n                if "." in right and right[0] == "0" and right[1] != ".":\n                    return\n                \n                if len(left) > 1 and left[0] == "0" and left[1] != ".":\n                    return\n                \n                if len(right) > 1 and right[0] == "0" and right[1] != ".":\n                    return\n                \n                if "." in left:\n                    index = left.index(".")\n                    index += 1\n                    check = True\n                    while index < len(left):\n                        if left[index] != "0":\n                            check = False\n                            break\n                        index += 1\n                        \n                    if check:\n                        return\n                    \n                    if left[-1] == "0":\n                        return\n                    \n                if "." in right:\n                    index = right.index(".")\n                    \n                    index += 1\n                    check = True\n                    while index < len(right):\n                        if right[index] != "0":\n                            check = False\n                            break\n                        index += 1\n                        \n                    if check:\n                        return\n                    \n                    if right[-1] == "0":\n                        return\n                    \n                    \n                    \n                \n                self.options.add((left, right))\n                \n                return\n            \n            if not right:\n                calc(index + 1, left + s[index], right)\n                \n                if left != "" and "." not in left:\n                    calc(index + 1, left + "." + s[index], right)\n                \n            calc(index + 1, left, right + s[index])\n              \n            if right != "" and "." not in right:\n                calc(index + 1, left, right + "." + s[index])\n                \n                \n        \n        \n        \n        \n        calc(0, "", "")\n        \n        arr = []\n        \n        for a, b in self.options:\n            arr.append("(" + a + ", " + b + ")")\n            \n        return arr\n```
['Python3']