


"""simple docstring"""







from collections.abc import Sequence
def _A						(						lowercase       ,    lowercase = False		):







    """simple docstring"""
    if not arr:
        return 0

    a 		=0 if allow_empty_subarrays else float('''-inf'''		)
    a 		=0.0
    for num in arr:
        a 		=max(0 if allow_empty_subarrays else num       ,    curr_sum + num		)
        a 		=max(lowercase       ,    lowercase		)

    return max_sum


if __name__ == "__main__":
       from doctest import testmod

       testmod()

       lowerCamelCase_   :   List[str]									=  [-2, 1, -3, 4, -1, 2, 1, -5, 4]
       print(F'{max_subarray_sum(nums) = }')

from __future__ import annotations

import sys
from collections import deque
from typing import Generic, TypeVar

lowercase  :					Optional[Any]													=       TypeVar('T')




class  lowerCamelCase__							(				Generic[T]):




	'''simple docstring'''




	_A								=     42  # Cache store of keys
	_A								=     42  # References of the keys in cache
	_A								=     1_0  # Maximum capacity of cache







	def __init__(					self		:Optional[Any]     ,   a		:int						)		-> None:
								__UpperCamelCase	:   Union[str, Any]			   =					deque()
								__UpperCamelCase	:   str			   =					set()
								if not n:
															__UpperCamelCase	:   Union[str, Any]			   =					sys.maxsize
								elif n < 0:
															raise ValueError("n should be an integer greater than 0."						)
								else:
															__UpperCamelCase	:   Any			   =					n







	def    _lowerCamelCase				(					self		:Tuple     ,   a		:T						)		-> None:
								if x not in self.key_reference:
															if len(self.dq_store						) == LRUCache._MAX_CAPACITY:
																						__UpperCamelCase	:   int			   =					self.dq_store.pop()
																						self.key_reference.remove(a						)
								else:
															self.dq_store.remove(a						)

								self.dq_store.appendleft(a						)
								self.key_reference.add(a						)







	def    _lowerCamelCase				(					self		:Any						)		-> None:
								for k in self.dq_store:
															print(a						)







	def __repr__(					self		:Tuple						)		-> str:
								return f'LRUCache({self._MAX_CAPACITY}) => {list(self.dq_store						)}'


if __name__ == "__main__":
		import doctest

		doctest.testmod()

		lowercase  :					LRUCache[str | int]													=       LRUCache(4)
		lru_cache.refer('A')
		lru_cache.refer(2)
		lru_cache.refer(3)
		lru_cache.refer('A')
		lru_cache.refer(4)
		lru_cache.refer(5)
		lru_cache.display()

		print(lru_cache)
		assert str(lru_cache) == "LRUCache(4) => [5, 4, 'A', 3]"