




import unittest

import numpy as np

def  UpperCAmelCase_							(				__UpperCAmelCase						:     np.ndarray      ,      __UpperCAmelCase						:     np.ndarray      ,      __UpperCAmelCase						:     np.ndarray      ,      __UpperCAmelCase						:     np.ndarray | None = None      ,      ) ->			np.ndarray:
      SCREAMING_SNAKE_CASE_     						=      np.shape(__UpperCAmelCase							)
      SCREAMING_SNAKE_CASE_     						=      np.shape(__UpperCAmelCase							)
      SCREAMING_SNAKE_CASE_     						=      np.shape(__UpperCAmelCase							)

      if shape_a[0] != shape_b[0]:
            SCREAMING_SNAKE_CASE_     						=      (
                'Expected the same number of rows for A and B. '
                f"Instead found A of size {shape_a} and B of size {shape_b}"
            )
            raise ValueError(__UpperCAmelCase							)

      if shape_b[1] != shape_c[1]:
            SCREAMING_SNAKE_CASE_     						=      (
                'Expected the same number of columns for B and C. '
                f"Instead found B of size {shape_b} and C of size {shape_c}"
            )
            raise ValueError(__UpperCAmelCase							)

      SCREAMING_SNAKE_CASE_     						=      pseudo_inv
      if a_inv is None:
            try:
                  SCREAMING_SNAKE_CASE_     						=      np.linalg.inv(__UpperCAmelCase							)
            except np.linalg.LinAlgError:
                  raise ValueError(
                      'Input matrix A is not invertible. Cannot compute Schur complement.'							)

      return mat_c - mat_b.T @ a_inv @ mat_b





class 	lowerCamelCase_							(				unittest.TestCase ):


 '''simple docstring'''







 def 				lowerCAmelCase_  (							self  :		Optional[int]						):
       SCREAMING_SNAKE_CASE_     						=      np.array([[1, 2, 1], [2, 1, 2], [3, 2, 4]]						)
       SCREAMING_SNAKE_CASE_     						=      np.array([[0, 3], [3, 0], [2, 3]]						)
       SCREAMING_SNAKE_CASE_     						=      np.array([[2, 1], [6, 3]]						)

       SCREAMING_SNAKE_CASE_     						=      schur_complement(_lowerCAmelCase    ,    _lowerCAmelCase    ,    _lowerCAmelCase						)

       SCREAMING_SNAKE_CASE_     						=      np.block([[a, b], [b.T, c]]						)

       SCREAMING_SNAKE_CASE_     						=      np.linalg.det(_lowerCAmelCase						)
       SCREAMING_SNAKE_CASE_     						=      np.linalg.det(_lowerCAmelCase						)
       SCREAMING_SNAKE_CASE_     						=      np.linalg.det(_lowerCAmelCase						)

       self.assertAlmostEqual(_lowerCAmelCase    ,    det_a * det_s						)



 def 				lowerCAmelCase_  (							self  :		Union[str, Any]						):
       SCREAMING_SNAKE_CASE_     						=      np.array([[1, 2, 1], [2, 1, 2], [3, 2, 4]]						)
       SCREAMING_SNAKE_CASE_     						=      np.array([[0, 3], [3, 0], [2, 3]]						)
       SCREAMING_SNAKE_CASE_     						=      np.array([[2, 1], [6, 3]]						)

       with self.assertRaises(_lowerCAmelCase						):
             schur_complement(_lowerCAmelCase    ,    _lowerCAmelCase    ,    _lowerCAmelCase						)




 def 				lowerCAmelCase_  (							self  :		Optional[Any]						):
       SCREAMING_SNAKE_CASE_     						=      np.array([[1, 2, 1], [2, 1, 2], [3, 2, 4]]						)
       SCREAMING_SNAKE_CASE_     						=      np.array([[0, 3], [3, 0], [2, 3]]						)
       SCREAMING_SNAKE_CASE_     						=      np.array([[2, 1, 3], [6, 3, 5]]						)

       with self.assertRaises(_lowerCAmelCase						):
             schur_complement(_lowerCAmelCase    ,    _lowerCAmelCase    ,    _lowerCAmelCase						)


if __name__ == "__main__":
   import doctest

   doctest.testmod()
   unittest.main()





def  UpperCAmelCase_							(				) ->			int:
      return 1

def  UpperCAmelCase_							(				__UpperCAmelCase						:     int							) ->			int:
      return 0 if x < 0 else two_pence(x - 2							) + one_pence()

def  UpperCAmelCase_							(				__UpperCAmelCase						:     int							) ->			int:
      return 0 if x < 0 else five_pence(x - 5							) + two_pence(__UpperCAmelCase							)

def  UpperCAmelCase_							(				__UpperCAmelCase						:     int							) ->			int:
      return 0 if x < 0 else ten_pence(x - 10							) + five_pence(__UpperCAmelCase							)

def  UpperCAmelCase_							(				__UpperCAmelCase						:     int							) ->			int:
      return 0 if x < 0 else twenty_pence(x - 20							) + ten_pence(__UpperCAmelCase							)

def  UpperCAmelCase_							(				__UpperCAmelCase						:     int							) ->			int:
      return 0 if x < 0 else fifty_pence(x - 50							) + twenty_pence(__UpperCAmelCase							)

def  UpperCAmelCase_							(				__UpperCAmelCase						:     int							) ->			int:
      return 0 if x < 0 else one_pound(x - 1_00							) + fifty_pence(__UpperCAmelCase							)

def  UpperCAmelCase_							(				__UpperCAmelCase						:     int							) ->			int:
      return 0 if x < 0 else two_pound(x - 2_00							) + one_pound(__UpperCAmelCase							)

def  UpperCAmelCase_							(				__UpperCAmelCase						:     int = 2_00							) ->			int:
      return two_pound(__UpperCAmelCase							)


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