Calculate parts needed based on suffix sizes up to 9999 parts
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: O(n)\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity: O(n)\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```python []\nimport math\nclass Solution(object):\n    def splitMessage(self, message, limit):\n        """\n        :type message: str\n        :type limit: int\n        :rtype: List[str]\n        """\n        n = len(message)\n        if limit <= 5:\n            return []\n        \n        parts = 0\n        if (limit-5) * 9 >= n:\n            parts = math.ceil(n / float(limit-5))\n        elif (limit-6) * 9 + (limit-7) * 90 >= n:\n            parts = 9 + math.ceil((n - (limit-6) * 9) / float(limit-7))\n        elif (limit-7) * 9 + (limit-8) * 90 + (limit-9) * 900 >= n:\n            parts = 99 + math.ceil((n - (limit-7) * 9 - (limit-8) * 90) / float(limit-9))\n        elif (limit-8) * 9 + (limit-9) * 90 + (limit-10) * 900 + (limit-11) * 9000 >= n:\n            parts = 999 + math.ceil((n - (limit-8) * 9 - (limit-9) * 90 - (limit-10) * 900) / float(limit-11))\n        else:\n            return []\n\n        parts = int(parts)\n        idx = 0\n        out = []\n        for p in range(1,parts+1):\n            chars = limit - 3 - len(str(parts)) - len(str(p))\n            prefix = ""\n            if p < parts:\n                prefix = message[idx:idx+chars]\n            else:\n                prefix = message[idx:]\n            suffix = "<{}/{}>".format(p, parts)\n            out.append(prefix+suffix)\n            idx = idx+chars\n        \n        return out\n```
['Python']