



"""simple docstring"""
from torch import nn





class 		__UpperCAmelCase				(	nn.Module					):







 """simple docstring"""




 def __init__(				self					: int						, A_					: Optional[Any]						, A_					: Tuple	)->	Any:
   super().__init__()
   __UpperCamelCase  						=							class_size
   __UpperCamelCase  						=							embed_size
   # self.mlp1 = nn.Linear(embed_size, embed_size)
   # self.mlp2 = (nn.Linear(embed_size, class_size))
   __UpperCamelCase  						=							nn.Linear(UpperCAmelCase_						, UpperCAmelCase_	)





 def  A  (				self					: Any						, A_					: str	)->	List[Any]:
   # hidden_state = nn.functional.relu(self.mlp1(hidden_state))
   # hidden_state = self.mlp2(hidden_state)
   __UpperCamelCase  						=							self.mlp(UpperCAmelCase_	)
   return logits




'''simple docstring'''





def 							lowerCamelCase	(					_snake_case	:    int = 50_000_000							):





    '''simple docstring'''


    lowercase__									=    set()
    lowercase__									=    int((limit - 24) ** (1 / 2)							)

    lowercase__									=    set(range(3  ,prime_square_limit + 1  ,2							)							)
    primes.add(2							)
    for p in range(3  ,prime_square_limit + 1  ,2							):
        if p not in primes:
            continue
        primes.difference_update(set(range(p * p  ,prime_square_limit + 1  ,_snake_case							)							)							)

    for primea in primes:
        lowercase__									=    primea * primea
        for primea in primes:
            lowercase__									=    primea * primea * primea
            if square + cube >= limit - 16:
                break
            for primea in primes:
                lowercase__									=    primea * primea * primea * primea
                lowercase__									=    square + cube + tetr
                if total >= limit:
                    break
                ret.add(_snake_case							)

    return len(_snake_case							)


if __name__ == "__main__":
 print(f'''{solution() = }''')




