




def lowerCamelCase__  (     _lowercase = 10					,		_lowercase = 22 ):

     '''simple docstring'''


     UpperCAmelCase_     :				Tuple  =     range(1					,		_lowercase )
     UpperCAmelCase_     :				Optional[int]  =     range(1					,		_lowercase )
     return sum(
         1 for power in powers for base in bases if len(str(base**power ) ) == power )


if __name__ == "__main__":
     print(F"""{solution(10, 22) = }""")


'''simple docstring'''





import math

import flax.linen as nn
import jax.numpy as jnp






def 				_lowerCAmelCase			(   __magic_name__						:     jnp.ndarray   , __magic_name__						:     int   , __magic_name__						:     float = 1   , __magic_name__						:     float = 1   , __magic_name__						:     float = 1.0E4   , __magic_name__						:     bool = False   , __magic_name__						:     float = 1.0   , )				->  jnp.ndarray:
						assert timesteps.ndim == 1, "Timesteps should be a 1d-array"
						assert embedding_dim % 2 == 0, f'''Embedding dimension {embedding_dim} should be even'''
						lowercase :							int    		=float(embedding_dim // 2						)
						lowercase :							Optional[int]    		=math.log(max_timescale / min_timescale						) / (num_timescales - freq_shift)
						lowercase :							Any    		=min_timescale * jnp.exp(jnp.arange(__magic_name__   , dtype=jnp.floataa						) * -log_timescale_increment						)
						lowercase :							List[Any]    		=jnp.expand_dims(__magic_name__   , 1						) * jnp.expand_dims(__magic_name__   , 0						)

						# scale embeddings
						lowercase :							Tuple    		=scale * emb

						if flip_sin_to_cos:
												lowercase :							Dict    		=jnp.concatenate([jnp.cos(__magic_name__						), jnp.sin(__magic_name__						)]   , axis=1						)
						else:
												lowercase :							Any    		=jnp.concatenate([jnp.sin(__magic_name__						), jnp.cos(__magic_name__						)]   , axis=1						)
						lowercase :							List[str]    		=jnp.reshape(__magic_name__   , [jnp.shape(__magic_name__						)[0], embedding_dim]						)
						return signal





class 		__SCREAMING_SNAKE_CASE							(			nn.Module      ):
				lowerCamelCase_		       =    32
				lowerCamelCase_		       =    jnp.floataa







				@nn.compact
				def __call__(       self     :		Tuple		,					UpperCAmelCase__     :		int   ):
										'''simple docstring'''
										lowercase :							List[Any]    		=nn.Dense(self.time_embed_dim		,					dtype=self.dtype		,					name='''linear_1'''   )(UpperCAmelCase__   )
										lowercase :							Any    		=nn.silu(UpperCAmelCase__   )
										lowercase :							int    		=nn.Dense(self.time_embed_dim		,					dtype=self.dtype		,					name='''linear_2'''   )(UpperCAmelCase__   )
										return temb





class 		__SCREAMING_SNAKE_CASE							(			nn.Module      ):
				lowerCamelCase_		       =    32
				lowerCamelCase_		       =    False
				lowerCamelCase_		       =    1







				@nn.compact
				def __call__(       self     :		int		,					UpperCAmelCase__     :		str   ):
										'''simple docstring'''
										return get_sinusoidal_embeddings(
										    UpperCAmelCase__		,					embedding_dim=self.dim		,					flip_sin_to_cos=self.flip_sin_to_cos		,					freq_shift=self.freq_shift   )





