"""simple docstring"""







def      __lowerCAmelCase(		):






	"""simple docstring"""





	return 1


def      __lowerCAmelCase(		__UpperCAmelCase			):






	"""simple docstring"""





	return 0 if x < 0 else two_pence(x - 2			) + one_pence()


def      __lowerCAmelCase(		__UpperCAmelCase			):






	"""simple docstring"""





	return 0 if x < 0 else five_pence(x - 5			) + two_pence(__UpperCAmelCase			)


def      __lowerCAmelCase(		__UpperCAmelCase			):






	"""simple docstring"""





	return 0 if x < 0 else ten_pence(x - 10			) + five_pence(__UpperCAmelCase			)


def      __lowerCAmelCase(		__UpperCAmelCase			):






	"""simple docstring"""





	return 0 if x < 0 else twenty_pence(x - 20			) + ten_pence(__UpperCAmelCase			)


def      __lowerCAmelCase(		__UpperCAmelCase			):






	"""simple docstring"""





	return 0 if x < 0 else fifty_pence(x - 50			) + twenty_pence(__UpperCAmelCase			)


def      __lowerCAmelCase(		__UpperCAmelCase			):






	"""simple docstring"""





	return 0 if x < 0 else one_pound(x - 100			) + fifty_pence(__UpperCAmelCase			)


def      __lowerCAmelCase(		__UpperCAmelCase			):






	"""simple docstring"""





	return 0 if x < 0 else two_pound(x - 200			) + one_pound(__UpperCAmelCase			)


def      __lowerCAmelCase(		__UpperCAmelCase = 200			):






	"""simple docstring"""





	return two_pound(__UpperCAmelCase			)


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




"""simple docstring"""







def      __lowerCAmelCase(		__UpperCAmelCase			):






	"""simple docstring"""





	_lowercase :    str							=							[0 for i in range(len(__UpperCAmelCase			)			)]

	# initialize interval's left pointer and right pointer
	_lowercase				,      _lowercase :    str							=							0, 0

	for i in range(1     ,len(__UpperCAmelCase			)			):
		# case when current index is inside the interval
		if i <= right_pointer:
			_lowercase :    Union[str, Any]							=							min(right_pointer - i + 1     ,z_result[i - left_pointer]			)
			_lowercase :    Any							=							min_edge

		while go_next(__UpperCAmelCase     ,__UpperCAmelCase     ,__UpperCAmelCase			):
			z_result[i] += 1

		# if new index's result gives us more right interval,
		# we've to update left_pointer and right_pointer
		if i + z_result[i] - 1 > right_pointer:
			_lowercase				,      _lowercase :    Optional[int]							=							i, i + z_result[i] - 1

	return z_result


def      __lowerCAmelCase(		__UpperCAmelCase     ,__UpperCAmelCase     ,__UpperCAmelCase			):






	"""simple docstring"""





	return i + z_result[i] < len(__UpperCAmelCase			) and s[z_result[i]] == s[i + z_result[i]]


def      __lowerCAmelCase(		__UpperCAmelCase     ,__UpperCAmelCase			):






	"""simple docstring"""





	_lowercase :    Union[str, Any]							=							0
	# concatenate 'pattern' and 'input_str' and call z_function
	# with concatenated string
	_lowercase :    List[str]							=							z_function(pattern + input_str			)

	for val in z_result:
		# if value is greater then length of the pattern string
		# that means this index is starting position of substring
		# which is equal to pattern string
		if val >= len(__UpperCAmelCase			):
			answer += 1

	return answer


if __name__ == "__main__":
						import doctest

						doctest.testmod()



