
def a__    (       A_,     A_,     A_					):






  '''simple docstring'''





  def update_area_of_max_square(A_,     A_					) -> int:
    # BASE CASE
    if row >= rows or col >= cols:
      return 0

    __magic_name__				     =       update_area_of_max_square(A_,     col + 1					)
    __magic_name__				     =       update_area_of_max_square(row + 1,     col + 1					)
    __magic_name__				     =       update_area_of_max_square(row + 1,     A_					)

    if mat[row][col]:
      __magic_name__				     =       1 + min([right, diagonal, down]					)
      __magic_name__				     =       max(largest_square_area[0],     A_					)
      return sub_problem_sol
    else:
      return 0

  __magic_name__				     =       [0]
  update_area_of_max_square(0,     0					)
  return largest_square_area[0]

def a__    (       A_,     A_,     A_					):






  '''simple docstring'''





  def update_area_of_max_square_using_dp_array(
      A_,     A_,     A_					) -> int:
    if row >= rows or col >= cols:
      return 0
    if dp_array[row][col] != -1:
      return dp_array[row][col]

    __magic_name__				     =       update_area_of_max_square_using_dp_array(A_,     col + 1,     A_					)
    __magic_name__				     =       update_area_of_max_square_using_dp_array(row + 1,     col + 1,     A_					)
    __magic_name__				     =       update_area_of_max_square_using_dp_array(row + 1,     A_,     A_					)

    if mat[row][col]:
      __magic_name__				     =       1 + min([right, diagonal, down]					)
      __magic_name__				     =       max(largest_square_area[0],     A_					)
      __magic_name__				     =       sub_problem_sol
      return sub_problem_sol
    else:
      return 0

  __magic_name__				     =       [0]
  __magic_name__				     =       [[-1] * cols for _ in range(A_					)]
  update_area_of_max_square_using_dp_array(0,     0,     A_					)

  return largest_square_area[0]

def a__    (       A_,     A_,     A_					):






  '''simple docstring'''





  __magic_name__				     =       [[0] * (cols + 1) for _ in range(rows + 1					)]
  __magic_name__				     =       0
  for row in range(rows - 1,     -1,     -1					):
    for col in range(cols - 1,     -1,     -1					):
      __magic_name__				     =       dp_array[row][col + 1]
      __magic_name__				     =       dp_array[row + 1][col + 1]
      __magic_name__				     =       dp_array[row + 1][col]

      if mat[row][col] == 1:
        __magic_name__				     =       1 + min(A_,     A_,     A_					)
        __magic_name__				     =       max(dp_array[row][col],     A_					)
      else:
        __magic_name__				     =       0

  return largest_square_area

def a__    (       A_,     A_,     A_					):






  '''simple docstring'''





  __magic_name__				     =       [0] * (cols + 1)
  __magic_name__				     =       [0] * (cols + 1)
  __magic_name__				     =       0
  for row in range(rows - 1,     -1,     -1					):
    for col in range(cols - 1,     -1,     -1					):
      __magic_name__				     =       current_row[col + 1]
      __magic_name__				     =       next_row[col + 1]
      __magic_name__				     =       next_row[col]

      if mat[row][col] == 1:
        __magic_name__				     =       1 + min(A_,     A_,     A_					)
        __magic_name__				     =       max(current_row[col],     A_					)
      else:
        __magic_name__				     =       0
    __magic_name__				     =       current_row

  return largest_square_area


if __name__ == "__main__":
    import doctest

    doctest.testmod()
    print(largest_square_area_in_matrix_bottom_up(2, 2, [[1, 1], [1, 1]]))


'''simple docstring'''

def 			__UpperCamelCase       (   UpperCAmelCase     ):
 lowercase__				:    Optional[int]  =					1
 for i in range(1		,     num + 1     ):
  fact *= i
 return fact
def 			__UpperCamelCase       (   UpperCAmelCase     ):
 lowercase__				:    Optional[Any]  =					0
 while number > 0:
  lowercase__				:    str  =					number % 10
  sum_of_digits += last_digit
  lowercase__				:    List[str]  =					number // 10  # Removing the last_digit from the given number
 return sum_of_digits
def 			__UpperCamelCase       (   UpperCAmelCase = 100     ):
 lowercase__				:    Optional[int]  =					factorial(UpperCAmelCase     )
 lowercase__				:    Dict  =					split_and_add(UpperCAmelCase     )
 return result


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

