'''simple docstring'''




import os
import unittest

import pytest
from parameterized import parameterized

from transformers.testing_utils import require_torch, require_torch_gpu, slow, torch_device


# skipping in unittest tests

__SCREAMING_SNAKE_CASE	:					Dict					=  [(1,)]

def      UpperCamelCase_							( )   ->   Any:


							"""simple docstring"""







							_UpperCAmelCase					:  str											=   bool(os.getenv("RUN_SLOW"      ,     0   )   )
							if run_slow:
														assert True
							else:
														assert False, "should have been skipped"

def      UpperCamelCase_							( )   ->   Optional[int]:


							"""simple docstring"""







							_UpperCAmelCase					:  List[Any]											=   bool(os.getenv("RUN_SLOW"      ,     0   )   )
							if run_slow and torch_device == "cuda":
														assert True
							else:
														assert False, "should have been skipped"

@require_torch
class      lowerCamelCase_     (unittest.TestCase   ):
						'''simple docstring'''

						@slow
						@require_torch_gpu
						def 					_A     (	self						:    Optional[int]	):
													check_slow_torch_cuda()




						@require_torch_gpu
						@slow
						def 					_A     (	self						:    Any	):
													check_slow_torch_cuda()





						@parameterized.expand(_A	)
						@slow
						def 					_A     (	self						:    Any						, A						:    Union[str, Any]=None	):
													check_slow()

@slow
@require_torch_gpu
def      UpperCamelCase_							( )   ->   Optional[Any]:


							"""simple docstring"""







							check_slow_torch_cuda()

@require_torch_gpu
@slow
def      UpperCamelCase_							( )   ->   Any:


							"""simple docstring"""







							check_slow_torch_cuda()

@slow
@pytest.mark.parametrize("param"      ,     [1]   )
def      UpperCamelCase_							( _UpperCAmelCase  :				Dict   )   ->   List[str]:


							"""simple docstring"""







							check_slow()


@pytest.mark.parametrize("param"      ,     [1]   )
@slow
def      UpperCamelCase_							( _UpperCAmelCase  :				List[str]   )   ->   Any:


							"""simple docstring"""







							check_slow()


'''simple docstring'''




def      UpperCamelCase_							( _UpperCAmelCase  :				Optional[int]      ,     _UpperCAmelCase  :				List[Any]   )   ->   List[str]:


       """simple docstring"""







       if len(str(_UpperCAmelCase   )   ) == 1 or len(str(_UpperCAmelCase   )   ) == 1:
              return a * b

       _UpperCAmelCase					:  Any											=   max(len(str(_UpperCAmelCase   )   )      ,     len(str(_UpperCAmelCase   )   )   )
       _UpperCAmelCase					:  Any											=   ma // 2

       _UpperCAmelCase				,  _UpperCAmelCase					:  Union[str, Any]											=   divmod(_UpperCAmelCase      ,     10**ma   )
       _UpperCAmelCase				,  _UpperCAmelCase					:  int											=   divmod(_UpperCAmelCase      ,     10**ma   )

       _UpperCAmelCase					:  List[str]											=   karatsuba(_UpperCAmelCase      ,     _UpperCAmelCase   )
       _UpperCAmelCase					:  int											=   karatsuba((aa + aa)      ,     (ba + ba)   )
       _UpperCAmelCase					:  Any											=   karatsuba(_UpperCAmelCase      ,     _UpperCAmelCase   )

       return (z * 10 ** (2 * ma)) + ((y - z - x) * 10 ** (ma)) + (x)

def      UpperCamelCase_							( )   ->   List[str]:


       """simple docstring"""







       print(karatsuba(15_463      ,     23_489   )   )


if __name__ == "__main__":
  main()

