Python easy to read and understand | kadane
```\nclass Solution:\n    def kadane(self, nums):\n        for i in range(1, len(nums)):\n            if nums[i-1] > 0:\n                nums[i] += nums[i-1]\n 
```\nclass Solution:\n    def kadane(self, nums):\n        for i in range(1, len(nums)):\n            if nums[i-1] > 0:\n                nums[i] += nums[i-1]\n        return max(max(nums), 0)\n    \n    def kConcatenationMaxSum(self, arr: List[int], k: int) -> int:\n        sums = sum(arr)\n        mod = 10**9 + 7\n        if k == 1:\n            return self.kadane(arr) % (mod)\n        if sums > 0:\n            return (self.kadane(arr+arr) + (k-2)*sums) % (mod)\n        else:\n            return self.kadane(arr+arr) % (mod)
['Python', 'Python3']