



def  _lowerCAmelCase     (_lowerCAmelCase ,						_lowerCAmelCase):
					UpperCamelCase_			= 0
					for ele in arr:
										total_sum += product_sum(_lowerCAmelCase ,						depth + 1) if isinstance(_lowerCAmelCase ,						_lowerCAmelCase) else ele
					return total_sum * depth



def  _lowerCAmelCase     (_lowerCAmelCase):
					return product_sum(_lowerCAmelCase ,						1)


if __name__ == "__main__":
	import doctest

	doctest.testmod()




"""simple docstring"""







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_sentencepiece_available, is_torch_available


__a      			= {"configuration_bert_generation": ["BertGenerationConfig"]}

try:
						if not is_sentencepiece_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						__a      			= ["BertGenerationTokenizer"]

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						__a      			= [
						    "BertGenerationDecoder",
						    "BertGenerationEncoder",
						    "BertGenerationPreTrainedModel",
						    "load_tf_weights_in_bert_generation",
						]


if TYPE_CHECKING:
						from .configuration_bert_generation import BertGenerationConfig

						try:
												if not is_sentencepiece_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .tokenization_bert_generation import BertGenerationTokenizer

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_bert_generation import (
												    BertGenerationDecoder,
												    BertGenerationEncoder,
												    BertGenerationPreTrainedModel,
												    load_tf_weights_in_bert_generation,
												)

else:
						import sys

						__a      			= _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)