





'''simple docstring'''

def 		UpperCamelCase							(				_lowerCamelCase   :   int = 2_00			):
    A__							=     [1, 2, 5, 10, 20, 50, 1_00, 2_00]
    A__							=     [0] * (pence + 1)
    A__							=     1  # base case: 1 way to make 0 pence

    for coin in coins:
        for i in range(_lowerCamelCase		,			pence + 1		,			1			):
            number_of_ways[i] += number_of_ways[i - coin]
    return number_of_ways[pence]


if __name__ == "__main__":
  assert solution(200) == 7_3682










'''simple docstring'''

from __future__ import annotations





def 		UpperCamelCase							(				_lowerCamelCase   :   list[int]			):  # This function is recursive
    A__							=     len(_lowerCamelCase			)
    # If the array contains only one element, we return it (it's the stop condition of
    # recursion)
    if array_length <= 1:
        return array
        # Else
    A__							=     array[0]
    A__							=     False
    A__							=     1
    A__							=     []
    while not is_found and i < array_length:
        if array[i] < pivot:
            A__							=     True
            A__							=     [element for element in array[i:] if element >= array[i]]
            A__							=     longest_subsequence(_lowerCamelCase			)
            if len(_lowerCamelCase			) > len(_lowerCamelCase			):
                A__							=     temp_array
        else:
            i += 1

    A__							=     [element for element in array[1:] if element >= pivot]
    A__							=     [pivot, *longest_subsequence(_lowerCamelCase			)]
    if len(_lowerCamelCase			) > len(_lowerCamelCase			):
        return temp_array
    else:
        return longest_subseq


if __name__ == "__main__":
  import doctest

  doctest.testmod()



