


from ...configuration_utils import PretrainedConfig
from ...utils import logging


lowerCAmelCase__			:      Tuple								=logging.get_logger(__name__)

lowerCAmelCase__			:      Union[str, Any]								={
    'sayakpaul/vit-msn-base': 'https://huggingface.co/sayakpaul/vit-msn-base/resolve/main/config.json',
    # See all ViT MSN models at https://huggingface.co/models?filter=vit_msn
}







class 	__lowercase    (__SCREAMING_SNAKE_CASE  ):





							"""simple docstring"""







							_UpperCAmelCase      =						"""vit_msn"""






							def __init__(      self			,						lowerCAmelCase__=7_6_8			,						lowerCAmelCase__=1_2			,						lowerCAmelCase__=1_2			,						lowerCAmelCase__=3_0_7_2			,						lowerCAmelCase__="gelu"			,						lowerCAmelCase__=0.0			,						lowerCAmelCase__=0.0			,						lowerCAmelCase__=0.02			,						lowerCAmelCase__=1E-06			,						lowerCAmelCase__=2_2_4			,						lowerCAmelCase__=1_6			,						lowerCAmelCase__=3			,						lowerCAmelCase__=True			,						**lowerCAmelCase__			,						):





										"""simple docstring"""




										super().__init__(**lowerCAmelCase__       )

										SCREAMING_SNAKE_CASE_		:     Tuple					=					hidden_size
										SCREAMING_SNAKE_CASE_		:     List[Any]					=					num_hidden_layers
										SCREAMING_SNAKE_CASE_		:     Tuple					=					num_attention_heads
										SCREAMING_SNAKE_CASE_		:     Optional[int]					=					intermediate_size
										SCREAMING_SNAKE_CASE_		:     Optional[Any]					=					hidden_act
										SCREAMING_SNAKE_CASE_		:     List[str]					=					hidden_dropout_prob
										SCREAMING_SNAKE_CASE_		:     Dict					=					attention_probs_dropout_prob
										SCREAMING_SNAKE_CASE_		:     Optional[Any]					=					initializer_range
										SCREAMING_SNAKE_CASE_		:     Union[str, Any]					=					layer_norm_eps
										SCREAMING_SNAKE_CASE_		:     str					=					image_size
										SCREAMING_SNAKE_CASE_		:     Optional[Any]					=					patch_size
										SCREAMING_SNAKE_CASE_		:     Any					=					num_channels
										SCREAMING_SNAKE_CASE_		:     int					=					qkv_bias












from collections import defaultdict
from math import ceil, sqrt





def 				__lowerCAmelCase(       _SCREAMING_SNAKE_CASE = 1_000_000							,     _SCREAMING_SNAKE_CASE = 10				)							-> int:




    """simple docstring"""




    _A     =							defaultdict(_SCREAMING_SNAKE_CASE				)

    for outer_width in range(3							,     (t_limit // 4) + 2				):
        if outer_width * outer_width > t_limit:
            _A     =							max(
                ceil(sqrt(outer_width * outer_width - t_limit				)				)							,     1				)
        else:
            _A     =							1

        hole_width_lower_bound += (outer_width - hole_width_lower_bound) % 2

        for hole_width in range(_SCREAMING_SNAKE_CASE							,     outer_width - 1							,     2				):
            count[outer_width * outer_width - hole_width * hole_width] += 1

    return sum(1 for n in count.values() if 1 <= n <= 10				)


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





