

"""simple docstring"""






import unittest

from transformers.utils.backbone_utils import (
    BackboneMixin,
    get_aligned_output_features_output_indices,
    verify_out_features_out_indices,
)
class        _lowercase					(     unittest.TestCase     ):







     def 	lowerCAmelCase__    (      self       ):
      __magic_name__     =      ['''a''', '''b''', '''c''']

      # Defaults to last layer if both are None
      __magic_name__   ,						__magic_name__     =      get_aligned_output_features_output_indices(lowerCAmelCase_ ,						lowerCAmelCase_ ,						lowerCAmelCase_       )
      self.assertEqual(lowerCAmelCase_ ,						['''c''']       )
      self.assertEqual(lowerCAmelCase_ ,						[2]       )

      # Out indices set to match out features
      __magic_name__   ,						__magic_name__     =      get_aligned_output_features_output_indices(['''a''', '''c'''] ,						lowerCAmelCase_ ,						lowerCAmelCase_       )
      self.assertEqual(lowerCAmelCase_ ,						['''a''', '''c''']       )
      self.assertEqual(lowerCAmelCase_ ,						[0, 2]       )

      # Out features set to match out indices
      __magic_name__   ,						__magic_name__     =      get_aligned_output_features_output_indices(lowerCAmelCase_ ,						[0, 2] ,						lowerCAmelCase_       )
      self.assertEqual(lowerCAmelCase_ ,						['''a''', '''c''']       )
      self.assertEqual(lowerCAmelCase_ ,						[0, 2]       )

      # Out features selected from negative indices
      __magic_name__   ,						__magic_name__     =      get_aligned_output_features_output_indices(lowerCAmelCase_ ,						[-3, -1] ,						lowerCAmelCase_       )
      self.assertEqual(lowerCAmelCase_ ,						['''a''', '''c''']       )
      self.assertEqual(lowerCAmelCase_ ,						[-3, -1]       )







     def 	lowerCAmelCase__    (      self       ):







      with self.assertRaises(lowerCAmelCase_       ):
       verify_out_features_out_indices(['''a''', '''b'''] ,						(0, 1) ,						lowerCAmelCase_       )

      # Out features must be a list
      with self.assertRaises(lowerCAmelCase_       ):
       verify_out_features_out_indices(('''a''', '''b''') ,						(0, 1) ,						['''a''', '''b''']       )

      # Out features must be a subset of stage names
      with self.assertRaises(lowerCAmelCase_       ):
       verify_out_features_out_indices(['''a''', '''b'''] ,						(0, 1) ,						['''a''']       )

      # Out indices must be a list or tuple
      with self.assertRaises(lowerCAmelCase_       ):
       verify_out_features_out_indices(lowerCAmelCase_ ,						0 ,						['''a''', '''b''']       )

      # Out indices must be a subset of stage names
      with self.assertRaises(lowerCAmelCase_       ):
       verify_out_features_out_indices(lowerCAmelCase_ ,						(0, 1) ,						['''a''']       )

      # Out features and out indices must be the same length
      with self.assertRaises(lowerCAmelCase_       ):
       verify_out_features_out_indices(['''a''', '''b'''] ,						(0,) ,						['''a''', '''b''', '''c''']       )

      # Out features should match out indices
      with self.assertRaises(lowerCAmelCase_       ):
       verify_out_features_out_indices(['''a''', '''b'''] ,						(0, 2) ,						['''a''', '''b''', '''c''']       )

      # Out features and out indices should be in order
      with self.assertRaises(lowerCAmelCase_       ):
       verify_out_features_out_indices(['''b''', '''a'''] ,						(0, 1) ,						['''a''', '''b''']       )

      # Check passes with valid inputs
      verify_out_features_out_indices(['''a''', '''b''', '''d'''] ,						(0, 1, -1) ,						['''a''', '''b''', '''c''', '''d''']       )







     def 	lowerCAmelCase__    (      self       ):
      __magic_name__     =      BackboneMixin()

      __magic_name__     =      ['''a''', '''b''', '''c''']
      __magic_name__     =      ['''a''', '''c''']
      __magic_name__     =      [0, 2]

      # Check that the output features and indices are set correctly
      self.assertEqual(backbone.out_features ,						['''a''', '''c''']       )
      self.assertEqual(backbone.out_indices ,						[0, 2]       )

      # Check out features and indices are updated correctly
      __magic_name__     =      ['''a''', '''b''']
      self.assertEqual(backbone.out_features ,						['''a''', '''b''']       )
      self.assertEqual(backbone.out_indices ,						[0, 1]       )

      __magic_name__     =      [-3, -1]
      self.assertEqual(backbone.out_features ,						['''a''', '''c''']       )
      self.assertEqual(backbone.out_indices ,						[-3, -1]       )




"""simple docstring"""






def 	lowercase      (   ) ->      int:
 return 1





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





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





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





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





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





def 	lowercase      (   __UpperCamelCase						) ->      int:
 return 0 if x < 0 else one_pound(x - 100						) + fifty_pence(__UpperCamelCase						)





def 	lowercase      (   __UpperCamelCase						) ->      int:
 return 0 if x < 0 else two_pound(x - 200						) + one_pound(__UpperCamelCase						)





def 	lowercase      (   __UpperCamelCase = 200						) ->      int:
 return two_pound(__UpperCamelCase						)


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

