






'''simple docstring'''

from itertools import count


def 							snake_case					(     a_							: int = 50	)       ->				int:





      """simple docstring"""

      UpperCamelCase_				:   int					    =							[1] * min_block_length

      for n in count(a_	):
            fill_count_functions.append(1	)

            for block_length in range(a_    ,   n + 1	):
                  for block_start in range(n - block_length	):
                        fill_count_functions[n] += fill_count_functions[
                            n - block_start - block_length - 1
                        ]

                  fill_count_functions[n] += 1

            if fill_count_functions[n] > 1_000_000:
                  break

      return n


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














'''simple docstring'''

# Lint as: python3
import itertools
import os
import re


UpperCamelCase							=re.compile(R"([A-Z]+)([A-Z][a-z])")
UpperCamelCase							=re.compile(R"([a-z\d])([A-Z])")

UpperCamelCase							=re.compile(R"(?<!_)_(?!_)")
UpperCamelCase							=re.compile(R"(_{2,})")

UpperCamelCase							=R"^\w+(\.\w+)*$"

UpperCamelCase							=R"<>:/\|?*"



def 							snake_case					(     a_							: str	)       ->				int:





      """simple docstring"""

      UpperCamelCase_				:   str					    =							_uppercase_uppercase_re.sub(r"""\1_\2"""    ,   a_	)
      UpperCamelCase_				:   List[Any]					    =							_lowercase_uppercase_re.sub(r"""\1_\2"""    ,   a_	)
      return name.lower()



def 							snake_case					(     a_							: Any	)       ->				Optional[Any]:





      """simple docstring"""

      UpperCamelCase_				:   Optional[Any]					    =							_single_underscore_re.split(a_	)
      UpperCamelCase_				:   Tuple					    =							[_multiple_underscores_re.split(a_	) for n in name]
      return "".join(n.capitalize() for n in itertools.chain.from_iterable(a_	) if n != """"""	)



def 							snake_case					(     a_							: Optional[int]	)       ->				str:





      """simple docstring"""

      if os.path.basename(a_	) != name:
            raise ValueError(f"Should be a dataset name, not a path: {name}"	)
      return camelcase_to_snakecase(a_	)



def 							snake_case					(     a_							: List[Any]    ,   a_							: Optional[int]	)       ->				Optional[Any]:





      """simple docstring"""

      if os.path.basename(a_	) != name:
            raise ValueError(f"Should be a dataset name, not a path: {name}"	)
      if not re.match(_split_re    ,   a_	):
            raise ValueError(f"Split name should match '{_split_re}'' but got '{split}'."	)
      return f"{filename_prefix_for_name(a_	)}-{split}"



def 							snake_case					(     a_							: Optional[Any]    ,   a_							: int    ,   a_							: List[Any]    ,   a_							: Union[str, Any]=None	)       ->				Dict:





      """simple docstring"""

      UpperCamelCase_				:   Optional[int]					    =							filename_prefix_for_split(a_    ,   a_	)
      if filetype_suffix:
            prefix += f".{filetype_suffix}"
      UpperCamelCase_				:   str					    =							os.path.join(a_    ,   a_	)
      return f"{filepath}*"



def 							snake_case					(     a_							: Tuple    ,   a_							: Any    ,   a_							: Optional[int]    ,   a_							: Union[str, Any]=None    ,   a_							: Optional[Any]=None	)       ->				List[Any]:





      """simple docstring"""

      UpperCamelCase_				:   Dict					    =							filename_prefix_for_split(a_    ,   a_	)
      UpperCamelCase_				:   Dict					    =							os.path.join(a_    ,   a_	)

      if shard_lengths:
            UpperCamelCase_				:   Optional[int]					    =							len(a_	)
            UpperCamelCase_				:   Tuple					    =							[f"{prefix}-{shard_id:05d}-of-{num_shards:05d}" for shard_id in range(a_	)]
            if filetype_suffix:
                  UpperCamelCase_				:   Tuple					    =							[filename + f".{filetype_suffix}" for filename in filenames]
            return filenames
      else:
            UpperCamelCase_				:   Dict					    =							prefix
            if filetype_suffix:
                  filename += f".{filetype_suffix}"
            return [filename]






