


# Lint as: python3
import itertools
import os
import re


UpperCAmelCase__   	=							re.compile(R'''([A-Z]+)([A-Z][a-z])''')
UpperCAmelCase__   	=							re.compile(R'''([a-z\d])([A-Z])''')

UpperCAmelCase__   	=							re.compile(R'''(?<!_)_(?!_)''')
UpperCAmelCase__   	=							re.compile(R'''(_{2,})''')

UpperCAmelCase__   	=							R'''^\w+(\.\w+)*$'''

UpperCAmelCase__   	=							R'''<>:/\|?*'''
def 				UpperCAmelCase_					(							__snake_case						)     ->			Any:







 """simple docstring"""


 _lowercase							      =_uppercase_uppercase_re.sub(r'''\1_\2'''     ,						__snake_case						)
 _lowercase							      =_lowercase_uppercase_re.sub(r'''\1_\2'''     ,						__snake_case						)
 return name.lower()
def 				UpperCAmelCase_					(							__snake_case						)     ->			Any:







 """simple docstring"""


 _lowercase							      =_single_underscore_re.split(__snake_case						)
 _lowercase							      =[_multiple_underscores_re.split(__snake_case						) for n in name]
 return "".join(n.capitalize() for n in itertools.chain.from_iterable(__snake_case						) if n != ''''''						)
def 				UpperCAmelCase_					(							__snake_case						)     ->			Optional[Any]:







 """simple docstring"""


 if os.path.basename(__snake_case						) != name:
  raise ValueError(F"Should be a dataset name, not a path: {name}"						)
 return camelcase_to_snakecase(__snake_case						)
def 				UpperCAmelCase_					(							__snake_case     ,						__snake_case						)     ->			Optional[Any]:







 """simple docstring"""


 if os.path.basename(__snake_case						) != name:
  raise ValueError(F"Should be a dataset name, not a path: {name}"						)
 if not re.match(_split_re     ,						__snake_case						):
  raise ValueError(F"Split name should match '{_split_re}'' but got '{split}'."						)
 return F"{filename_prefix_for_name(__snake_case						)}-{split}"
def 				UpperCAmelCase_					(							__snake_case     ,						__snake_case     ,						__snake_case     ,						__snake_case=None						)     ->			Union[str, Any]:







 """simple docstring"""


 _lowercase							      =filename_prefix_for_split(__snake_case     ,						__snake_case						)
 if filetype_suffix:
  prefix += F".{filetype_suffix}"
 _lowercase							      =os.path.join(__snake_case     ,						__snake_case						)
 return F"{filepath}*"



def 				UpperCAmelCase_					(							__snake_case     ,						__snake_case     ,						__snake_case     ,						__snake_case=None     ,						__snake_case=None						)     ->			Tuple:







 """simple docstring"""


 _lowercase							      =filename_prefix_for_split(__snake_case     ,						__snake_case						)
 _lowercase							      =os.path.join(__snake_case     ,						__snake_case						)

 if shard_lengths:
  _lowercase							      =len(__snake_case						)
  _lowercase							      =[F"{prefix}-{shard_id:05d}-of-{num_shards:05d}" for shard_id in range(__snake_case						)]
  if filetype_suffix:
   _lowercase							      =[filename + F".{filetype_suffix}" for filename in filenames]
  return filenames
 else:
  _lowercase							      =prefix
  if filetype_suffix:
   filename += F".{filetype_suffix}"
  return [filename]





def 				UpperCAmelCase_					(							__snake_case     ,						__snake_case						)     ->			List[Any]:







 """simple docstring"""


 if b == 0:
  return 1
 if (b % 2) == 0:
  return actual_power(__snake_case     ,						int(b / 2						)						) * actual_power(__snake_case     ,						int(b / 2						)						)
 else:
  return a * actual_power(__snake_case     ,						int(b / 2						)						) * actual_power(__snake_case     ,						int(b / 2						)						)
def 				UpperCAmelCase_					(							__snake_case     ,						__snake_case						)     ->			float:







 """simple docstring"""


 if b < 0:
  return 1 / actual_power(__snake_case     ,						__snake_case						)
 return actual_power(__snake_case     ,						__snake_case						)


if __name__ == "__main__":
  print(power(-2, -3))

