





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


lowercase_					     =	{
    """configuration_roc_bert""": ["""ROC_BERT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """RoCBertConfig"""],
    """tokenization_roc_bert""": ["""RoCBertTokenizer"""],
}

try:
      if not is_tokenizers_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      pass

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      lowercase_					     =	[
          """ROC_BERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
          """RoCBertForCausalLM""",
          """RoCBertForMaskedLM""",
          """RoCBertForMultipleChoice""",
          """RoCBertForPreTraining""",
          """RoCBertForQuestionAnswering""",
          """RoCBertForSequenceClassification""",
          """RoCBertForTokenClassification""",
          """RoCBertLayer""",
          """RoCBertModel""",
          """RoCBertPreTrainedModel""",
          """load_tf_weights_in_roc_bert""",
      ]

if TYPE_CHECKING:
      from .configuration_roc_bert import ROC_BERT_PRETRAINED_CONFIG_ARCHIVE_MAP, RoCBertConfig
      from .tokenization_roc_bert import RoCBertTokenizer

      try:
            if not is_tokenizers_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            raise OptionalDependencyNotAvailable()

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_roc_bert import (
                ROC_BERT_PRETRAINED_MODEL_ARCHIVE_LIST,
                RoCBertForCausalLM,
                RoCBertForMaskedLM,
                RoCBertForMultipleChoice,
                RoCBertForPreTraining,
                RoCBertForQuestionAnswering,
                RoCBertForSequenceClassification,
                RoCBertForTokenClassification,
                RoCBertLayer,
                RoCBertModel,
                RoCBertPreTrainedModel,
                load_tf_weights_in_roc_bert,
            )


else:
      import sys

      lowercase_					     =	_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)









def     __UpperCamelCase						(_SCREAMING_SNAKE_CASE = 50	)       ->     int:
  lowercase__			    =						[1] * (length + 1)

  for row_length in range(3	,		length + 1	):
    for block_length in range(3	,		row_length + 1	):
      for block_start in range(row_length - block_length	):
        ways_number[row_length] += ways_number[
            row_length - block_start - block_length - 1
        ]

      ways_number[row_length] += 1

  return ways_number[length]


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


