





import argparse
import os
import re


_lowerCamelCase			:	Dict							 =     """src/transformers/models/auto"""


# re pattern that matches mapping introductions:
#    SUPER_MODEL_MAPPING_NAMES = OrderedDict or SUPER_MODEL_MAPPING = OrderedDict
_lowerCamelCase			:	str							 =     re.compile(r"""[A-Z_]+_MAPPING(\s+|_[A-Z_]+\s+)=\s+OrderedDict""")
# re pattern that matches identifiers in mappings
_lowerCamelCase			:	Tuple							 =     re.compile(r"""\s*\(\s*\"(\S[^\"]+)\"""")







def SCREAMING_SNAKE_CASE       ( lowercase_				,       lowercase_ = False		)     -> Union[str, Any]:



       """simple docstring"""

       with open(lowercase_				,       '''r'''				,       encoding='''utf-8'''		) as f:
              A__   				=					f.read()

       A__   				=					content.split('''\n'''		)
       A__   				=					[]
       A__   				=					0
       while line_idx < len(lowercase_		):
              if _re_intro_mapping.search(lines[line_idx]		) is not None:
                     A__   				=					len(re.search(R'''^(\s*)\S'''				,       lines[line_idx]		).groups()[0]		) + 8
                     # Start of a new mapping!
                     while not lines[line_idx].startswith(''' ''' * indent + '''('''		):
                            new_lines.append(lines[line_idx]		)
                            line_idx += 1

                     A__   				=					[]
                     while lines[line_idx].strip() != "]":
                            # Blocks either fit in one line or not
                            if lines[line_idx].strip() == "(":
                                   A__   				=					line_idx
                                   while not lines[line_idx].startswith(''' ''' * indent + ''')'''		):
                                          line_idx += 1
                                   blocks.append('''\n'''.join(lines[start_idx : line_idx + 1]		)		)
                            else:
                                   blocks.append(lines[line_idx]		)
                            line_idx += 1

                     # Sort blocks by their identifiers
                     A__   				=					sorted(lowercase_				,       key=lambda lowercase_		: _re_identifier.search(lowercase_		).groups()[0]		)
                     new_lines += blocks
              else:
                     new_lines.append(lines[line_idx]		)
                     line_idx += 1

       if overwrite:
              with open(lowercase_				,       '''w'''				,       encoding='''utf-8'''		) as f:
                     f.write('''\n'''.join(lowercase_		)		)
       elif "\n".join(lowercase_		) != content:
              return True







def SCREAMING_SNAKE_CASE       ( lowercase_ = False		)     -> List[Any]:



       """simple docstring"""

       A__   				=					[os.path.join(lowercase_				,       lowercase_		) for f in os.listdir(lowercase_		) if f.endswith('''.py'''		)]
       A__   				=					[sort_auto_mapping(lowercase_				,       overwrite=lowercase_		) for fname in fnames]

       if not overwrite and any(lowercase_		):
              A__   				=					[f for f, d in zip(lowercase_				,       lowercase_		) if d]
              raise ValueError(
                  f"""The following files have auto mappings that need sorting: {", ".join(lowercase_		)}. Run `make style` to fix"""
                  ''' this.'''		)


if __name__ == "__main__":
  _lowerCamelCase			:	Any							 =     argparse.ArgumentParser()
  parser.add_argument("""--check_only""", action="""store_true""", help="""Whether to only check or fix style.""")
  _lowerCamelCase			:	int							 =     parser.parse_args()

  sort_all_auto_mappings(not args.check_only)








def SCREAMING_SNAKE_CASE       ( lowercase_		)     -> int:



       """simple docstring"""

       A__   				=					1
       for i in range(1				,       num + 1		):
              fact *= i
       return fact







def SCREAMING_SNAKE_CASE       ( lowercase_		)     -> int:



       """simple docstring"""

       A__   				=					0
       while number > 0:
              A__   				=					number % 10
              sum_of_digits += last_digit
              A__   				=					number // 10  # Removing the last_digit from the given number
       return sum_of_digits







def SCREAMING_SNAKE_CASE       ( lowercase_ = 100		)     -> int:



       """simple docstring"""

       A__   				=					factorial(lowercase_		)
       A__   				=					split_and_add(lowercase_		)
       return result


if __name__ == "__main__":
  print(solution(int(input("""Enter the Number: """).strip())))


