





def 		lowerCAmelCase_    (  __UpperCAmelCase:			str      )      ->	bool:
    UpperCamelCase__							:				Optional[Any]          =      0
    for ch in input_str:
        UpperCamelCase__							:				Tuple          =      ord(__UpperCAmelCase      )
        UpperCamelCase__							:				Tuple          =      pow(2		,   __UpperCAmelCase      )

        # If we already turned on bit for current character's unicode
        if bitmap >> ch_unicode & 1 == 1:
            return False
        bitmap |= ch_bit_index_on
    return True


if __name__ == "__main__":
  import doctest

  doctest.testmod()








import random




def 		lowerCAmelCase_    (  __UpperCAmelCase:			list		,   __UpperCAmelCase:			Optional[int]      )      ->	tuple:
    UpperCamelCase__   ,UpperCamelCase__   ,UpperCamelCase__							:				List[Any]          =      [], [], []
    for element in data:
        if element < pivot:
            less.append(__UpperCAmelCase      )
        elif element > pivot:
            greater.append(__UpperCAmelCase      )
        else:
            equal.append(__UpperCAmelCase      )
    return less, equal, greater





def 		lowerCAmelCase_    (  __UpperCAmelCase:			list		,   __UpperCAmelCase:			int      )      ->	List[str]:
    # index = len(items) // 2 when trying to find the median
    #   (value of index when items is sorted)

    # invalid input
    if index >= len(__UpperCAmelCase      ) or index < 0:
        return None

    UpperCamelCase__							:				List[str]          =      items[random.randint(0		,   len(__UpperCAmelCase      ) - 1      )]
    UpperCamelCase__							:				List[Any]          =      0
    UpperCamelCase__   ,UpperCamelCase__   ,UpperCamelCase__							:				int          =      _partition(__UpperCAmelCase		,   __UpperCAmelCase      )
    UpperCamelCase__							:				Union[str, Any]          =      len(__UpperCAmelCase      )
    UpperCamelCase__							:				Dict          =      len(__UpperCAmelCase      )

    # index is the pivot
    if m <= index < m + count:
        return pivot
    # must be in smaller
    elif m > index:
        return quick_select(__UpperCAmelCase		,   __UpperCAmelCase      )
    # must be in larger
    else:
        return quick_select(__UpperCAmelCase		,   index - (m + count)      )

